PHP में दिनांक और समय के साथ कार्य: मूल बातों से लेकर उन्नत तकनीकों तक
दिनांक और समय के साथ कार्य करना वेब डेवलपमेंट में सबसे सामान्य कार्यों में से एक है। चाहे वर्तमान दिनांक प्रदर्शित करना हो, घटनाओं के बीच अंतर की गणना करना हो, या डेटाबेस में टाइमस्टैम्प सहेजना हो - PHP शक्तिशाली और लचीले उपकरण प्रदान करता है। इस लेख में, हम PHP में दिनांक और समय के साथ कार्य करने के लिए मुख्य फ़ंक्शन, क्लास और सर्वोत्तम प्रथाओं पर विस्तार से चर्चा करेंगे।
यह सामग्री उन शुरुआती लोगों के लिए उपयोगी होगी जो PHP सीखना शुरू कर रहे हैं, साथ ही अनुभवी डेवलपर्स के लिए भी जो अपने ज्ञान को व्यवस्थित करना चाहते हैं।
1. मूल फ़ंक्शन: date(), time() और mktime()
आइए मूल बातों से शुरू करें। PHP दिनांक के साथ कार्य करने के लिए कई अंतर्निहित फ़ंक्शन प्रदान करता है। इनमें से सबसे लोकप्रिय हैं date(), time() और mktime()।
फ़ंक्शन time()
फ़ंक्शन time() वर्तमान Unix टाइमस्टैम्प (timestamp) लौटाता है - 1 जनवरी 1970 00:00:00 UTC के बाद से बीत चुके सेकंडों की संख्या। यह मूल मान है जिस पर कई संचालन आधारित होते हैं।
echo time(); // कुछ इस प्रकार आउटपुट देगा 1698765432फ़ंक्शन date()
फ़ंक्शन date() स्थानीय दिनांक और समय को फ़ॉर्मेट करता है। पहला पैरामीटर फ़ॉर्मेट स्ट्रिंग है, दूसरा (वैकल्पिक) टाइमस्टैम्प है। यदि दूसरा पैरामीटर निर्दिष्ट नहीं है, तो वर्तमान समय का उपयोग किया जाता है।
// मूल फ़ॉर्मेटecho date("Y-m-d"); // 2023-10-31echo date("H:i:s"); // 14:30:00echo date("d.m.Y H:i"); // 31.10.2023 14:30echo date("l, j F Y"); // Tuesday, 31 October 2023
// अपना स्वयं का टाइमस्टैम्प$timestamp = mktime(12, 0, 0, 1, 1, 2024);echo date("Y-m-d H:i:s", $timestamp); // 2024-01-01 12:00:00लोकप्रिय फ़ॉर्मेटिंग प्रतीक:
d— महीने का दिन (01-31)m— महीना (01-12)Y— 4 अंकों का वर्षH— घंटे (00-23)i— मिनट (00-59)s— सेकंड (00-59)
फ़ंक्शन mktime()
mktime() दिए गए पैरामीटर (घंटे, मिनट, सेकंड, महीना, दिन, वर्ष) के आधार पर एक टाइमस्टैम्प बनाता है। यह किसी विशिष्ट दिनांक का टाइमस्टैम्प प्राप्त करने के लिए सुविधाजनक है।
// 25 दिसंबर 2023, 10:30:00 के लिए टाइमस्टैम्प बनाएं$christmas = mktime(10, 30, 0, 12, 25, 2023);echo date("d.m.Y H:i:s", $christmas); // 25.12.2023 10:30:002. ऑब्जेक्ट-ओरिएंटेड दृष्टिकोण: DateTime क्लास
हालाँकि date() और time() फ़ंक्शन सरल हैं, उनकी सीमाएँ हैं। अधिक जटिल संचालन (दिनांक तुलना, टाइम ज़ोन के साथ कार्य, अंतराल जोड़ना/घटाना) के लिए DateTime क्लास का उपयोग करना बेहतर है।
DateTime ऑब्जेक्ट बनाना
// वर्तमान समय$now = new DateTime();echo $now->format("Y-m-d H:i:s"); // 2023-10-31 14:30:00
// विशिष्ट दिनांक$date = new DateTime("2024-03-15 08:00:00");echo $date->format("d.m.Y"); // 15.03.2024
// सापेक्ष फ़ॉर्मेट$nextWeek = new DateTime("+1 week");echo $nextWeek->format("Y-m-d");
$lastMonth = new DateTime("first day of last month");echo $lastMonth->format("Y-m-d");टाइम ज़ोन के साथ कार्य
DateTime का एक मुख्य लाभ टाइम ज़ोन के लिए समर्थन है।
// बनाते समय टाइम ज़ोन निर्दिष्ट करना$moscow = new DateTime("now", new DateTimeZone("Europe/Moscow"));echo $moscow->format("Y-m-d H:i:s"); // मास्को समय
// टाइम ज़ोन बदलना$newYork = new DateTime("now", new DateTimeZone("America/New_York"));echo $newYork->format("Y-m-d H:i:s"); // न्यूयॉर्क समय
// उपलब्ध ज़ोन की सूची: https://www.php.net/manual/ru/timezones.phpदिनांकों की तुलना
$date1 = new DateTime("2024-01-01");$date2 = new DateTime("2024-12-31");
if ($date1 < $date2) { echo "पहली दिनांक दूसरी से पहले है";}
// अंतर