क्या UTC दिन के समय की बचत का निरीक्षण करता है?


83

मैं एक स्क्रिप्ट लिखने की कोशिश कर रहा हूं, जहां मैं किसी भी समयक्षेत्र को परिवर्तित करना चाहता हूं UTCऔर रिवर्स करना चाहता हूं । लेकिन कुछ से जहां मुझे पता चला कि UTC डीएसटी पर विचार किए बिना या उसके बिना किसी भी समय को परिवर्तित करते हुए, यह उसी UTCसमय देगा। उदाहरण के लिए: अगर मैं इसे बदलने की कोशिश करता हूं:

$mytime = '2011-03-31 05:06:00.000';
$myzone = 'America/New_York';

UST को DST के साथ और DST के बिना, मुझे मिलेगा ।।

(New_York->UTC DST=Yes)2011-03-31 09:06:00
(New_York->UTC DST=No)2011-03-31 09:06:00 ..........

क्या ये लाश है ?? अगर हाँ तो क्यों ??? कृपया कोई भी मुझे अपने उत्तर दें।


यदि आप हमें स्क्रिप्ट दिखाते हैं, तो हम आपकी थोड़ी बेहतर मदद कर सकते हैं।
केविन लैक्मेमेंट

4
और, आपके शीर्षक प्रश्न के उत्तर में, कोई भी यूटीसी डेलाइट बचत का निरीक्षण नहीं करता है; अन्य क्षेत्र, हालांकि, हो सकता है।
केविन लैक्मेंट

जवाबों:


139

नहीं, UTC के पास कभी भी DST नहीं है। यह संदर्भ के निरंतर फ्रेम है जो अन्य समय क्षेत्रों के सापेक्ष व्यक्त किया जाता है।

से विकिपीडिया यूटीसी पेज :

यूटीसी मौसम के बदलाव के साथ नहीं बदलता है, लेकिन अगर समय क्षेत्र अधिकार क्षेत्र दिन के समय या गर्मी के समय को देखता है तो स्थानीय समय या नागरिक समय बदल सकता है। उदाहरण के लिए, यूटीसी सर्दियों के दौरान संयुक्त राज्य अमेरिका के पूर्वी तट पर स्थानीय समय से 5 घंटे आगे है, लेकिन गर्मियों के दौरान 4 घंटे आगे है।

दूसरे शब्दों में, जब कोई समय क्षेत्र डीएसटी का निरीक्षण करता है, तो यूटीसी से इसकी ऑफसेट बदल जाती है जब डीएसटी संक्रमण होता है, लेकिन उस समय क्षेत्र डीएसटी का अवलोकन करते हैं, यूटीसी नहीं।

PHP टाइम ज़ोन हैंडलिंग के बारे में बहुत कुछ जानने के बिना, यह मुझे अजीब लगता है कि आप "DST के साथ" या "DST के बिना" रूपांतरण में निर्दिष्ट कर सकते हैं - समय क्षेत्र स्वयं निर्दिष्ट करते हैं जब DST किक करता है ... यह नहीं होना चाहिए कुछ आप अपने आप को निर्दिष्ट करें।


1
"PHP टाइम ज़ोन हैंडलिंग के बारे में बहुत कुछ जाने बिना, यह मुझे अजीब लगता है कि आप 'DST के साथ' या 'DST के बिना रूपांतरण' में निर्दिष्ट कर सकते हैं" ... ऐसा शायद इसलिए क्योंकि आपने बहुत अधिक प्रोग्राम किए गए हाइपरलिंक्ड पास्ता को नहीं किया है। यह एक बिलियन date_sunriseफंक्शन वाली भाषा है जो आपको बताती है कि सूरज कब उगता है। यदि रूपांतरण के लिए डीएसटी की आवश्यकता है, तो मुझे यकीन नहीं है, लेकिन यह एक दिनांक ऑब्जेक्ट का प्रथम श्रेणी का नागरिक है: php.net/manual/en/function.date.php
पॉल ड्रेपर

@PaulDraper: दिनांक ऑब्जेक्ट का प्रथम श्रेणी का नागरिक होने के नाते एक निश्चित मात्रा में समझ में आता है - केवल रूपांतरण के लिए इसे अलग से निर्दिष्ट नहीं करना। जब से मैंने कुछ अंतर्निहित सी दिनचर्या के बारे में थोड़ा और सीखा है, और मुझे संदेह है कि उनके पास ऐसा करने के लिए बहुत कुछ है ...
जॉन स्कीट

1
मुझे लगता है कि यह पूछना ठीक है कि क्या यह डी.एस.टी. एक अतिरिक्त समय के बिना एक स्थानीय UTC समय से एक अस्पष्ट UTC समय तक नहीं जा सकता है। ऐसा इसलिए है क्योंकि DST से संक्रमण के दौरान कुछ स्थानीयकरण दो बार होते हैं।
टॉम

@ टॉम: मैं स्थानीय समय से दो बार होने के बारे में बहुत अच्छी तरह से जानता हूं, लेकिन इसका मतलब यह नहीं है कि रूपांतरण में डीएसटी में स्थानीय समय है या नहीं यह निर्दिष्ट करना एक अच्छा विचार है। यह बेहतर है - IMO - अस्पष्टता को हल करने का एक तरीका निर्दिष्ट करने के लिए अगर यह अस्पष्ट है। जनवरी में EDT जैसी असंभव स्थितियों को व्यक्त करने की अनुमति देने से बचने के लिए मैं एपीआई पसंद करता हूं।
जॉन स्कीट

1
यदि आप PHP में टाइमज़ोन करने के बारे में उलझन में हैं, तो यह है क्योंकि PHP एक गड़बड़ है, यहाँ php का एक शानदार राइटअप
ल्यूसेंट फॉक्स

1

इस कोड का उपयोग करते हुए मुझे एक ही समस्या हो रही है:

date_default_timezone_set('UTC');
$nowdate = date('l jS \of F Y h:i:s A');
echo "Current date and time is: " . $nowdate;

अब गर्मी है, और यह कोड उत्पन्न होने का समय एक घंटे पीछे है - इसलिए मुझे नहीं लगता कि PHP में UTC का समय DST में समायोजित होता है।

यह देखने के लिए दिलचस्प हो कि क्या किसी के पास समाधान है ...

संपादित करें:

एक मंच पर इस कोड मिला, पूरी तरह से काम करता है !!

date_default_timezone_set('Europe/London');
$TIME =  date("m/d/Y H:i",time());

तो आप $ TIME का उपयोग करके वर्तमान तिथि और समय को कॉल कर सकते हैं। आउटपुट को दिनांक () टैग के अंदर थोड़ा-थोड़ा बदलकर इसे प्रदर्शित करने के लिए समायोजित किया जा सकता है। यदि आप दिनांक () आउटपुट समायोजित करना चाहते हैं, तो इस गाइड का उपयोग करें: http://php.net/manual/en/function.time.pp

उम्मीद है की यह मदद करेगा :)

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.