PHP में समय क्षेत्र
DateTimeZone और date_default_timezone_set से कई समय क्षेत्रों को संभालें
PHP में समय क्षेत्र, CoddyKit पर PHP Academy का एक निःशुल्क पाठ है। यह 4 में से 4वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह PHP Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। PHP Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
टाइमज़ोन क्यों महत्वपूर्ण हैं
यदि आपका एप्लिकेशन दुनिया भर के उपयोगकर्ताओं को सेवाएँ देता है, तो टाइमज़ोन को संभालना अत्यंत महत्वपूर्ण है। PHP रूपांतरणों को सही ढंग से संभालने के लिए टाइमज़ोन-जागरूक फ़ंक्शन और क्लास का उपयोग करता है।
- डेटाबेस में समय हमेशा UTC में संग्रहीत करें
- उपयोगकर्ता के स्थानीय टाइमज़ोन में केवल प्रदर्शित करने के लिए बदलें
date_default_timezone_set()
सभी तिथि फ़ंक्शन के लिए डिफ़ॉल्ट टाइमज़ोन सेट करें:
<?php
// Set at the top of your script or in php.ini
date_default_timezone_set('Europe/Istanbul');
echo date('Y-m-d H:i:s'); // local Istanbul time
echo PHP_EOL;
date_default_timezone_set('UTC');
echo date('Y-m-d H:i:s'); // UTC time
// Or set in php.ini:
// date.timezone = "Europe/London"DateTimeZone क्लास
DateTime के साथ उपयोग करने के लिए टाइमज़ोन ऑब्जेक्ट बनाएँ:
<?php
$utc = new DateTimeZone('UTC');
$istanbul = new DateTimeZone('Europe/Istanbul');
$ny = new DateTimeZone('America/New_York');
$dt = new DateTime('now', $utc);
echo $dt->format('Y-m-d H:i:s T'); // UTC timeटाइमज़ोन के बीच रूपांतरण
setTimezone() की सहायता से DateTime को किसी दूसरे टाइमज़ोन में बदलें:
<?php
$utcTime = new DateTime('2024-05-27 12:00:00', new DateTimeZone('UTC'));
$istanbul = clone $utcTime;
$istanbul->setTimezone(new DateTimeZone('Europe/Istanbul'));
$newYork = clone $utcTime;
$newYork->setTimezone(new DateTimeZone('America/New_York'));
echo 'UTC: ' . $utcTime->format('H:i T') . PHP_EOL;
echo 'Istanbul: ' . $istanbul->format('H:i T') . PHP_EOL;
echo 'New York: ' . $newYork->format('H:i T') . PHP_EOL;getOffset() और DST
UTC ऑफ़सेट को सेकंड में प्राप्त करें और DST की जाँच करें:
<?php
$tz = new DateTimeZone('America/New_York');
$dt = new DateTime('now', $tz);
$offset = $tz->getOffset($dt); // offset in seconds
$offsetHours = $offset / 3600;
echo 'Offset: ' . $offsetHours . 'h'; // e.g. -5 or -4 in DST
$transitions = $tz->getTransitions(
strtotime('2024-01-01'),
strtotime('2024-12-31')
);
echo 'DST changes in 2024: ' . count($transitions);UTC में संग्रहीत करना, स्थानीय रूप से प्रदर्शित करना
सर्वोत्तम अभ्यास: डेटाबेस में UTC संग्रहीत करें और उपयोगकर्ता को स्थानीय समय दिखाएँ:
<?php
// Store: always save as UTC
$createdAt = (new DateTimeImmutable('now', new DateTimeZone('UTC')))
->format('Y-m-d H:i:s');
// Display: convert to user's timezone
$userTz = new DateTimeZone($user['timezone'] ?? 'UTC');
$display = (new DateTime($createdAt, new DateTimeZone('UTC')))
->setTimezone($userTz)
->format('d M Y, H:i T');उपयोगकर्ता के टाइमज़ोन का पता लगाना
प्रदर्शन के उद्देश्यों से उपयोगकर्ता के टाइमज़ोन का पता लगाएँ और उसे संग्रहीत करें:
// JavaScript: detect and send to PHP:
// const tz = Intl.DateTimeFormat().resolvedOptions().timeZone;
// fetch('/api/set-timezone', { method:'POST', body: tz });
<?php
// PHP: validate and store
$tz = $_POST['timezone'] ?? 'UTC';
$valid = in_array($tz, DateTimeZone::listIdentifiers());
if ($valid) {
$_SESSION['timezone'] = $tz;
setcookie('user_tz', $tz, time() + 365 * 86400);
}DateTimeZone::listIdentifiers()
सभी मान्य टाइमज़ोन पहचानकर्ता प्राप्त करें:
<?php
// All identifiers
$all = DateTimeZone::listIdentifiers();
echo count($all) . ' timezones available';
// Filter by region
$europe = DateTimeZone::listIdentifiers(DateTimeZone::EUROPE);
echo count($europe) . ' European timezones';
// Check if a timezone string is valid
function isValidTimezone(string $tz): bool {
return in_array($tz, DateTimeZone::listIdentifiers());
}
var_dump(isValidTimezone('Europe/Istanbul')); // trueटाइमज़ोन ऑफ़सेट को फ़ॉर्मैट करना
प्रदर्शन और API के लिए टाइमज़ोन ऑफ़सेट को फ़ॉर्मैट करें:
<?php
$dt = new DateTime('now', new DateTimeZone('America/Los_Angeles'));
echo $dt->format('P'); // +05:30 or -07:00
echo $dt->format('O'); // +0530 (no colon)
echo $dt->format('T'); // PST or PDT
echo $dt->format('e'); // America/Los_Angeles
echo $dt->format('Z'); // offset in secondsUnix टाइमस्टैम्प टाइमज़ोन-निरपेक्ष होते हैं
Unix टाइमस्टैम्प टाइमज़ोन की परवाह किए बिना समय के एक निश्चित क्षण को दर्शाते हैं—तुलना और गणना के लिए इनका उपयोग करें:
<?php
// These represent the same moment:
$utc = new DateTime('2024-05-27 12:00:00', new DateTimeZone('UTC'));
$ist = new DateTime('2024-05-27 15:00:00', new DateTimeZone('Asia/Kolkata'));
echo $utc->getTimestamp(); // same timestamp
echo $ist->getTimestamp(); // same timestamp
var_dump($utc->getTimestamp() === $ist->getTimestamp()); // trueटाइमज़ोन के साथ date_create
date_create और date_timezone_set के साथ प्रक्रियात्मक टाइमज़ोन प्रबंधन:
<?php
$dt = date_create('now', timezone_open('UTC'));
$tz = timezone_open('Europe/Istanbul');
date_timezone_set($dt, $tz);
echo date_format($dt, 'Y-m-d H:i:s T');
// Check transition info
$info = timezone_transitions_get($tz);
echo 'Current offset: ' . ($info[0]['offset'] / 3600) . 'h';त्वरित जाँच
दुनिया भर में वितरित एप्लिकेशन के लिए डेटाबेस में तिथियाँ और समय कहाँ संग्रहीत किए जाने चाहिए?
पुनरावृत्ति: PHP टाइमज़ोन
टाइमज़ोन की आवश्यक बातें:
date_default_timezone_set()से डिफ़ॉल्ट टाइमज़ोन सेट करें- DateTime के साथ
DateTimeZoneऑब्जेक्ट का उपयोग करें - ज़ोन के बीच रूपांतरण के लिए
setTimezone()का उपयोग करें - डेटाबेस में UTC हमेशा संग्रहीत करें
DateTimeZone::listIdentifiers()से उपयोगकर्ता के टाइमज़ोन को मान्य करें- Unix टाइमस्टैम्प टाइमज़ोन-निरपेक्ष समय-क्षण होते हैं
एआई शिक्षक के साथ PHP सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 49
- पाठ
- 195
अक्सर पूछे जाने वाले प्रश्न
क्या “PHP में समय क्षेत्र” पाठ निःशुल्क है?
हाँ—“PHP में समय क्षेत्र” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और PHP Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। PHP Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“PHP में समय क्षेत्र” में मैं क्या सीखूँगा?
DateTimeZone और date_default_timezone_set से कई समय क्षेत्रों को संभालें आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ PHP Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या PHP Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर PHP Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 4वाँ पाठ है।
“PHP में समय क्षेत्र” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस PHP Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर PHP Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- Unix टाइमस्टैम्प और date()
- DateTime क्लास
- DateInterval से तारीखों की गणना
- PHP में समय क्षेत्र