2010-05-21 16 views

उत्तर

51

आप time.localtime का उपयोग कर सकते हैं और वापसी मूल्य में tm_isdst ध्वज देखें।

>>> import time 
>>> time.localtime() 
(2010, 5, 21, 21, 48, 51, 4, 141, 0) 
>>> _.tm_isdst 
0 

time.localtime() का उपयोग करके आप देखना चाहते हैं कि डीएसटी अपने वर्तमान समय क्षेत्र के लिए प्रभाव में होगा (या था) किसी भी मनमाने ढंग से समय के लिए एक ही सवाल पूछ सकते हैं।

+0

यह समय का उपयोग करने के लिए थोड़ा और स्पष्ट हो सकता है। डेलाइट संपत्ति। यदि आपके वर्तमान समय क्षेत्र में डीएसटी है तो यह एक गैर-शून्य परिणाम देगा। –

+7

@brian buck: हालांकि यह अलग है। किसी दिए गए समय क्षेत्र के लिए, 'time.daylight' स्थिर है क्योंकि डेलाइट जोन मौजूद है या यह नहीं है। दूसरी तरफ, 'tm_isdst' ध्वज दर्शाता है कि दिया गया समय * डीएसटी की शुरुआत और समाप्ति तिथियों के भीतर * है। –

+0

'time.daylight' पर यह भ्रम एक बड़ा मुद्दा प्रतीत होता है: http://bugs.python.org/issue7229। –

-8

यदि आप जांचना चाहते हैं कि वर्तमान में वर्तमान कंप्यूटर सेटिंग्स के साथ डेलाइट वर्तमान में है या नहीं, तो समय का उपयोग करें। डेलाइट।

>>> import time 
>>> print time.daylight 

time.daylight केवल कहते हैं या नहीं, कंप्यूटर डेलाइट सेविंग टाइम में है, अगर कंप्यूटर है सेट "स्वचालित रूप से डेलाइट सेविंग परिवर्तन के लिए घड़ी समायोजित" नहीं। उन कंप्यूटरों के लिए कोई डेलाइट बचत समायोजन सेट नहीं किया गया है, समय। डेलाइट हमेशा साल भर 0 होगा।

यह निर्धारित करने का एक तरीका है कि कंप्यूटर वर्ष के दौरान डेलाइट बचत समय के लिए समायोजित करेगा या नहीं, समय-समय पर टुपल लौटाया जाना चाहिए और यदि वे अंतर हैं (यानी, लेन (सेट (time.tzname)) = 1), तो कंप्यूटर पर डेलाइट बचत समायोजन चालू है।

+8

'time.daylight केवल यह कहता है कि कंप्यूटर वर्तमान में डेलाइट बचत समय में है या नहीं - यह सच नहीं है। 'time.daylight' केवल तभी कहता है कि कंप्यूटर एक टाइमज़ोन में है जिसमें डीएसटी से संबंधित समय परिवर्तन होगा। यह उनके बारे में कुछ भी प्रभाव में नहीं है या नहीं। इसे 'tm_isdst' –

+0

बीटीडब्लू के साथ चेक किया जा सकता है: tzname के लिए डॉक्स: 'दो स्ट्रिंग्स का एक टुपल: पहला स्थानीय गैर-डीएसटी टाइमज़ोन का नाम है, दूसरा स्थानीय डीएसटी टाइमज़ोन का नाम है। यदि कोई डीएसटी टाइमज़ोन परिभाषित नहीं किया गया है, तो दूसरी स्ट्रिंग का उपयोग नहीं किया जाना चाहिए। 'इसलिए लेंस हो सकता है> 1 भले ही कोई डीएसटी परिभाषित न हो। –

+1

उत्तर हटाने के लिए मतदान करना गलत है। –

संबंधित मुद्दे

 संबंधित मुद्दे