PHP में दिनांक और समय के साथ कार्य: उन्नत स्तर

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

PHP में दिनांक और समय के साथ उन्नत कार्य: मूल बातों से निपुणता तक

\n\n

दिनांक और समय के साथ कार्य करना वेब डेवलपमेंट में सबसे सामान्य और साथ ही जटिल कार्यों में से एक है। शुरुआती डेवलपर अक्सर date() और time() फ़ंक्शन तक सीमित रहते हैं, लेकिन वास्तव में लचीले और विश्वसनीय एप्लिकेशन बनाने के लिए ऑब्जेक्ट-ओरिएंटेड दृष्टिकोण में महारत हासिल करना आवश्यक है। इस लेख में, हम PHP में दिनांक और समय के साथ काम करने की उन्नत तकनीकों पर चर्चा करेंगे जो आपको अधिक स्वच्छ, सुरक्षित और कुशल कोड लिखने में मदद करेंगी।

\n\n

1. DateTime क्लास: आधुनिक दिनांक कार्य का आधार

\n\n

DateTime क्लास वह नींव है जिस पर PHP में दिनांक के साथ सभी उन्नत कार्य निर्मित होते हैं। प्रक्रियात्मक फ़ंक्शन के विपरीत, यह हेरफेर, तुलना और फ़ॉर्मेटिंग के लिए समृद्ध विधियों वाला एक ऑब्जेक्ट प्रदान करता है।

\n\n

DateTime ऑब्जेक्ट बनाना:

\n
<?php\n// वर्तमान दिनांक और समय\n$now = new DateTime();\necho $now->format('Y-m-d H:i:s'); // 2024-01-15 14:30:00\n\n// स्ट्रिंग से विशिष्ट दिनांक\n$birthday = new DateTime('1990-05-20');\necho $birthday->format('d.m.Y'); // 20.05.1990\n\n// सापेक्ष प्रारूप के साथ\n$nextWeek = new DateTime('+1 week');\necho $nextWeek->format('Y-m-d');\n?>
\n\n

modify और add/sub विधियों का उपयोग करके दिनांक संशोधन:

\n
<?php\n$date = new DateTime('2024-01-15');\n\n// जटिल परिवर्तनों के लिए modify का उपयोग करें\n$date->modify('last day of next month');\necho $date->format('Y-m-d'); // 2024-02-29 (लीप वर्ष)\n\n// DateInterval के साथ add और sub\n$date->add(new DateInterval('P10D')); // +10 दिन\n$date->sub(new DateInterval('P1M'));  // -1 महीना\necho $date->format('Y-m-d'); // 2024-03-10\n?>
\n\n

DateTime का मुख्य लाभ DateTimeImmutable का उपयोग करते समय अपरिवर्तनीयता है। यदि आप मूल ऑब्जेक्ट को बदलना नहीं चाहते हैं, तो अपरिवर्तनीय संस्करण का उपयोग करें:

\n
<?php\n$date = new DateTimeImmutable('2024-01-15');\n$newDate = $date->modify('+1 month');\necho $date->format('Y-m-d'); // 2024-01-15 (मूल दिनांक नहीं बदली)\necho $newDate->format('Y-m-d'); // 2024-02-15\n?>
\n\n

2. समय क्षेत्र: आपके एप्लिकेशन का वैश्वीकरण

\n\n

समय क्षेत्रों को अनदेखा करना सबसे आम गलतियों में से एक है। यदि आपका एप्लिकेशन विभिन्न समय क्षेत्रों के उपयोगकर्ताओं के साथ काम करता है, तो समय क्षेत्रों के साथ सही कार्य करना महत्वपूर्ण हो जाता है।

\n\n

समय क्षेत्र सेट करना और बदलना:

\n
<?php\n// विशिष्ट समय क्षेत्र के साथ ऑब्जेक्ट बनाएं\n$tokyo = new DateTime('now', new DateTimeZone('Asia/Tokyo'));\necho $tokyo->format('Y-m-d H:i:s'); // टोक्यो में समय\n\n// मौजूदा ऑब्जेक्ट का समय क्षेत्र बदलें\n$london = new DateTime('now', new DateTimeZone('Europe/London'));\n$london->setTimezone(new DateTimeZone('America/New_York'));\necho $london->format('Y-m-d H:i:s T'); // न्यूयॉर्क में समय क्षेत्र संक्षिप्त नाम के साथ\n?>
\n\n

उपलब्ध समय क्षेत्रों की सूची:

\n
<?php\n$timezones = DateTimeZone::listIdentifiers();\n// आप क्षेत्र के अनुसार फ़िल्टर कर सकते हैं, उदाहरण के लिए:\n$europe = DateTimeZone::listIdentifiers(DateTimeZone::EUROPE);\nprint_r($europe);\n?>
\n\n

व्यावहारिक सलाह: हमेशा डेटाबेस में दिनांक को UTC में संग्रहीत करें, और उपयोगकर्ता को प्रदर्शित करते समय ही उन्हें स्थानीय समय क्षेत्र में बदलें। यह आपको डेलाइट सेविंग टाइम/विंटर टाइम में बदलाव के दौरान सिरदर्द से बचाएगा।

\n\n
<?php\n// UTC में संग्रहण\n$utcDate = new DateTime('now', new DateTimeZone('UTC'));\n$dbDate = $utcDate->format('Y-m-d H:i:s'); // डीबी में संग्रहीत करें\n\n// उपयोगकर्ता को प्रदर्शन\n$userDate = new DateTime($dbDate, new DateTimeZone('UTC'));\n$userDate->setTimezone(new DateTimeZone('America/Los_Angeles'));\necho $userDate->format('Y-m-d H:i:s');\n?>
\n\n

3. अवधियों और अंतरालों के साथ हेरफेर: DateInterval और DatePeriod

ब्लॉग

पुस्तक अनुशंसाएँ