PHP में वर्तमान वर्ष कैसे प्राप्त करें: उदाहरणों के साथ एक विस्तृत मार्गदर्शिका

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

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

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

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

\n\n

लगता है, इससे आसान क्या हो सकता है? बस वर्तमान वर्ष प्रिंट कर दें। लेकिन Stack Overflow पर इस प्रश्न को सैकड़ों हज़ारों बार देखा गया है। क्यों? क्योंकि इस सरलता के पीछे दर्जनों बारीकियाँ छिपी हैं: सर्वर समय और उपयोगकर्ता के समय क्षेत्र के बीच अंतर से लेकर विभिन्न लोकेल के लिए सही फ़ॉर्मेटिंग तक।

\n\n

इस लेख में हम PHP में वर्तमान वर्ष प्राप्त करने के सभी संभावित तरीकों पर चर्चा करेंगे, सामान्य गलतियों से बचना सीखेंगे और समझेंगे कि आपके विशिष्ट कार्य के लिए कौन सी विधि चुननी चाहिए। चाहे आप वेबसाइट के फुटर में कॉपीराइट लिख रहे हों या कोई जटिल समय ट्रैकिंग सिस्टम बना रहे हों, यह सामग्री उपयोगी होगी।

\n\n

चलिए शुरू करते हैं!

\n\n

विधि #1: क्लासिक फ़ंक्शन date()

\n\n

PHP में वर्तमान वर्ष प्राप्त करने का सबसे लोकप्रिय और आसान तरीका date() फ़ंक्शन का उपयोग करना है। यह सर्वर की वर्तमान तिथि और समय के साथ एक फ़ॉर्मेटेड स्ट्रिंग लौटाता है।

\n\n
<?php\n// वर्तमान वर्ष प्राप्त करें (4 अंक)\n$year = date('Y');\necho "अब $year वर्ष है"; // आउटपुट: अब 2026 वर्ष है\n?>
\n\n

यहाँ क्या हो रहा है? प्रतीक Y एक फ़ॉर्मेट है जिसका अर्थ है "4-अंकीय प्रारूप में वर्ष"। यदि आपको वर्ष अंतिम दो अंकों (24, 25, 26) के रूप में चाहिए, तो y का उपयोग करें:

\n\n
<?php\necho date('y'); // 26\n?>
\n\n

date('Y') अच्छा क्यों है?

\n
    \n
  • सरलता: कोड की एक पंक्ति - और हो गया।
  • \n
  • लचीलापन: अन्य फ़ॉर्मेट के साथ जोड़ा जा सकता है: date('Y-m-d') - तिथि, date('Y-m-d H:i:s') - समय के साथ तिथि।
  • \n
  • गति: फ़ंक्शन बहुत तेज़ी से काम करता है, ऑब्जेक्ट बनाने की आवश्यकता नहीं है।
  • \n
\n\n

कब सावधान रहना चाहिए?

\n

date() फ़ंक्शन PHP सेटिंग्स (php.ini में date.timezone निर्देश) में सेट किए गए समय क्षेत्र का उपयोग करता है। यदि सर्वर पर गलत समय क्षेत्र सेट है, तो PHP में वर्तमान वर्ष प्राप्त करना नए साल की रात को गलत परिणाम दे सकता है।

\n\n

समाधान: स्क्रिप्ट की शुरुआत में हमेशा समय क्षेत्र सेट करें:

\n\n
<?php\ndate_default_timezone_set('Asia/Kolkata');\necho date('Y'); // अब निश्चित रूप से 2026\n?>
\n\n

विधि #2: ऑब्जेक्ट-ओरिएंटेड दृष्टिकोण - DateTime क्लास

\n\n

यदि आप आधुनिक PHP कोड (संस्करण 5.2+) लिख रहे हैं, तो DateTime क्लास का उपयोग करना बेहतर है। यह तिथियों के साथ काम करने के लिए अधिक शक्तिशाली और लचीला उपकरण है।

\n\n
<?php\n$now = new DateTime();\n$year = $now->format('Y');\necho "वर्तमान वर्ष: $year";\n?>
\n\n

DateTime के लाभ:

\n
    \n
  • ऑब्जेक्ट मॉडल: तिथियों में आसानी से हेरफेर किया जा सकता है (दिन, महीने जोड़ना, तुलना करना)।
  • \n
  • समय क्षेत्र का स्पष्ट प्रबंधन: कंस्ट्रक्टर में टाइमज़ोन पास करें।
  • \n
  • अंतर्राष्ट्रीयकरण: तिथियों को आसानी से स्थानीयकृत किया जा सकता है।
  • \n
\n\n

समय क्षेत्र के साथ उदाहरण:

\n\n
<?php\n$timezone = new DateTimeZone('Europe/London');\n$now = new DateTime('now', $timezone);\necho $now->format('Y'); // ग्रीनविच के अनुसार वर्ष\n?>
\n\n

विधि #3: strftime() फ़ंक्शन का उपयोग (पुराना, लेकिन अभी भी चालू)

\n\n

strftime() फ़ंक्शन कभी स्थानीयकृत तिथि आउटपुट के लिए मानक हुआ करता था। PHP 8.1 में इसे पदावनत घोषित कर दिया गया है, लेकिन पुराने प्रोजेक्ट्स में आप इसे पा सकते हैं।

\n\n
<?php\nsetlocale(LC_TIME, 'hi_IN.UTF-8');\necho strftime('%Y'); // 2026\n?>
\n\n

महत्वपूर्ण: नए प्रोजेक्ट्स में strftime() का उपयोग न करें। इसके बजाय स्थानीयकरण के लिए IntlDateFormatter का उपयोग करें।

\n\n

विधि #4: किसी मनमानी तिथि से वर्ष कैसे प्राप्त करें?

\n\n

अक्सर केवल PHP में वर्तमान वर्ष प्राप्त करना ही नहीं, बल्कि किसी मौजूदा तिथि से वर्ष निकालना भी आवश्यक होता है।

ब्लॉग

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