PHP में वर्तमान वर्ष कैसे प्राप्त करें? 5 आसान तरीके

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

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

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

परिचय: "वर्तमान वर्ष" का सवाल इतना लोकप्रिय क्यों है?

\n\n

सोचिए, PHP से पूछने से आसान क्या हो सकता है: "अरे, अभी कौन सा साल चल रहा है?" — और जवाब मिल जाए। लेकिन ऐसा नहीं है! Stack Overflow पर सवाल "PHP में वर्तमान वर्ष कैसे प्राप्त करें?" के हज़ारों व्यूज़ हैं। क्यों?

\n\n

पहली बात, यह शुरुआती लोगों के सामने आने वाली पहली समस्याओं में से एक है: वेबसाइट के फुटर में "© 2024" दिखाना, रजिस्ट्रेशन फॉर्म में सालों की डायनामिक लिस्ट बनाना, या यूज़र की उम्र चेक करना। दूसरी बात, PHP कई अलग-अलग तरीके प्रदान करता है, और हर एक की अपनी बारीकियाँ हैं। तीसरी (और सबसे मुश्किल) बात, शुरुआती अक्सर date('y') और date('Y') में कन्फ्यूज़ हो जाते हैं — और 2024 की जगह 24 प्राप्त कर लेते हैं। फिर हैरान होते हैं कि साइट "पिछली सदी" में क्यों दिख रही है।

\n\n

इस आर्टिकल में हम PHP में वर्तमान वर्ष प्राप्त करने के सभी लोकप्रिय तरीकों पर चर्चा करेंगे, सबसे आसान से लेकर एडवांस्ड तक। आप सीखेंगे कि सामान्य गलतियों से कैसे बचें, अपने प्रोजेक्ट के लिए कौन सा तरीका चुनें, और अलग-अलग टाइम ज़ोन में वर्ष के साथ कैसे काम करें। चलिए शुरू करते हैं!

\n\n

1. सबसे आसान तरीका: date() फंक्शन

\n\n

PHP में तारीखों के साथ काम करने का सबसे लोकप्रिय फंक्शन date() है। यह एक फॉर्मेट और वैकल्पिक रूप से एक टाइमस्टैम्प लेता है। अगर टाइमस्टैम्प नहीं दिया गया, तो यह सर्वर के वर्तमान समय का उपयोग करता है।

\n\n

4 अंकों वाला वर्ष कैसे प्राप्त करें (2024, 2025…)

\n
<?php\necho date('Y'); // आउटपुट: 2024\n?>
\n\n

सिंबल Y (कैपिटल) — वर्ष का पूरा प्रतिनिधित्व, 4 अंक। 99% मामलों में इसी का उपयोग करना चाहिए।

\n\n

2 अंकों वाला वर्ष कैसे प्राप्त करें (24, 25…)

\n
<?php\necho date('y'); // आउटपुट: 24\n?>
\n\n

सिंबल y (लोअरकेस) — दो अंकों वाला वर्ष। इसका उपयोग केवल तभी करें जब आप कोई खिलौना प्रोग्राम लिख रहे हों या पुराने कोड (legacy code) के साथ काम कर रहे हों (जो संभवतः Y2K जैसी समस्याओं से पहले ही टूट चुका है)।

\n\n

वास्तविक उदाहरण: फुटर में कॉपीराइट

\n
<footer>\n    <p>&copy; 2010–<?php echo date('Y'); ?> मेरी सुपर-साइट</p>\n</footer>
\n\n

यह कोड फुटर में साल को ऑटोमैटिक अपडेट करेगा — आपको हर जनवरी में इसे बदलने की ज़रूरत नहीं होगी। कमाल है, है ना?

\n\n

2. ऑब्जेक्ट-ओरिएंटेड तरीका: DateTime क्लास

\n\n

अगर आप आधुनिक PHP (7.x, 8.x) लिख रहे हैं, तो DateTime क्लास का उपयोग करना बेहतर है। यह अधिक लचीला, मैनिपुलेशन के लिए सुविधाजनक और पढ़ने में आसान है।

\n\n

DateTime के माध्यम से वर्ष प्राप्त करें

\n
<?php\n$now = new DateTime();\necho $now->format('Y'); // 2024\n?>
\n\n

मेथड format() बिल्कुल date() की तरह काम करता है, लेकिन ऑब्जेक्ट पर। फायदा यह है कि आप आसानी से तारीख बदल सकते हैं, दिन, महीने जोड़ सकते हैं, और फिर दोबारा फॉर्मेट कर सकते हैं।

\n\n

एडवांस्ड उदाहरण: किसी विशिष्ट तारीख से वर्ष

\n
<?php\n$date = new DateTime('2023-03-15');\necho $date->format('Y'); // 2023\n?>
\n\n

यह तब उपयोगी है जब आप डेटाबेस के साथ काम कर रहे हों और तारीखों को स्ट्रिंग के रूप में स्टोर कर रहे हों।

\n\n

3. पुराना और भरोसेमंद strftime() (लेकिन एक चेतावनी के साथ)

\n\n

फंक्शन strftime() वर्ष प्राप्त करने का एक और तरीका है। यह इसलिए अच्छा है क्योंकि यह लोकेल (भाषा और क्षेत्रीय सेटिंग्स) को ध्यान में रखता है। उदाहरण के लिए, हिंदी लोकेल में यह महीने का नाम हिंदी में दिखा सकता है।

\n\n

strftime के साथ उदाहरण

\n
<?php\nsetlocale(LC_TIME, 'hi_IN.utf8');\necho strftime('%Y'); // 2024\n?>
\n\n

लेकिन एक महत्वपूर्ण बात: PHP 8.1 से शुरू करके, strftime() फंक्शन को डेप्रिकेटेड (पुराना) घोषित कर दिया गया है। इसका उपयोग अभी भी किया जा सकता है, लेकिन भविष्य के वर्जन में इसे हटाया जा सकता है। अगर आप नया कोड लिख रहे हैं, तो DateTime का उपयोग करना बेहतर है।

\n\n

4. $_SERVER['REQUEST_TIME'] वेरिएबल

\n\n

कभी-कभी बिना ऑब्जेक्ट बनाए "तुरंत" वर्ष प्राप्त करने की ज़रूरत होती है। इसके लिए सुपरग्लोबल ऐरे $_SERVER का उपयोग किया जा सकता है।

\n\n
<?php\n$timestamp = $_SERVER['REQUEST_TIME'];\necho date('Y', $timestamp); // 2024\n?>

ब्लॉग

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