मैं यूटीसी में अपने सभी समय संग्रहीत कर रहा हूं और मेरा सिस्टम यूटीसी पर सेट है (हालांकि मैं ईएसटी में हूं)।वर्तमान दिन (यूटीसी -> ईएसटी -> यूटीसी) के प्रारंभ और समाप्ति समय का निर्धारण करें; पायथन
मैं के रूप में जमा तिथि होती है:
Wed, 20 Feb 2013 03:51:39 +0000
हालांकि, मैं ईएसटी के लिए आज बंद आधारित जानकारी का चयन करना चाहते हैं, तो मैं करने के लिए प्रयास कर रहा हूँ:
यूटीसी के रूप में वर्तमान समय प्राप्त करें और ईएसटी
datetime.utcnow().replace(tzinfo=tz.tzutc()).astimezone(tz.gettz('America/New_York')) 2013-02-19 23:17:20.560898-05:00
अगला करने के लिए बदल रहा ईएसटी दिन के लिए शुरू करने का समय प्राप्त करना चाहते हैं (2013 -02-19 00: 00: 00.000000-05: 00) और अंत समय (2013-02-19 23: 59: 59.9 99 99-05: 00)
एक बार मेरे पास ये मान हो, मैं चाहता हूं यूटीसी में वापस कनवर्ट करें, इसलिए मेरे पास एक उच्च और निम्न मूल्य है जो मैं अपने ईएसटी (मेरा टाइमज़ोन) सही कर सकता हूं।
यदि यह यह करने के लिए सबसे अच्छा तरीका नहीं है, या मैं कुछ याद कर रहा हूँ (मेरे लिए बहुत ज्यादा जटिल प्रतीत होता है) कृपया मेरी मदद रोशनी देख!
TIA
प्रति जवाब अपडेट:
d1 = datetime.utcnow().replace(tzinfo=tz.tzutc()).astimezone(tz.gettz('America/New_York'))
print d1.strftime("%m %d %Y") ; d2 = d1.replace(day=d1.day + 1) ; print d2.strftime("%m %d %Y")
मुझे
02 20 2013
02 21 2013
कौन सा सही है दे देंगे कि। अब मुझे उस से पूर्ण ईएसटी समय उत्पन्न करने की आवश्यकता है और फिर यूटीसी में परिवर्तित करें। यह मैं समझ नहीं सकता। दरअसल, मैं संभवतः पूरा होने पर यूटीसी युग टाइमस्टैम्प में कनवर्ट करना चाहता हूं क्योंकि इससे मेरा डेटाबेस ऑपरेशन बहुत आसान हो जाएगा (<,> ,== आदि)।
मुझे समझ में नहीं आता कि आप अभी क्या करने की कोशिश कर रहे हैं। मैंने सोचा था कि आप इस मामले में ईएसटी समय चाहते थे 02/20/2013 00:00 यूटीसी। आपका सभी कोड अभी एक जटिल तरीके से आजकल (और टॉमोरो) दिनांक प्राप्त करता है ... –
(ईएसटी में, बूट करने के लिए, यूटीसी नहीं) –
दिन को प्रतिस्थापित न करें। यह हर महीने के अंत में टूट जाएगा। मेरे जवाब के अनुसार timedelta का प्रयोग करें। इसके अलावा, एक पंक्ति में सब कुछ करने की कोशिश करना बंद करो। आपको मेरे उत्तर के "सबसे अधिक" का उपयोग नहीं करना चाहिए, आपको इसका * सभी * उपयोग करना चाहिए, जैसा कि यह है। उपरोक्त आपका कोड पढ़ने के लिए बहुत मुश्किल है। और अंत में, क्या आप * समय * का उपयोग नहीं कर रहे हैं?आप केवल तारीखों को प्रिंट कर रहे हैं। यदि आप समय नहीं चाहते हैं, तो इनमें से अधिकांश पूरी तरह से व्यर्थ है। शुरुआत के लिए तिथियों के पास कोई टाइमज़ोन नहीं है। –