पर लागू नहीं किया जा सकता है मेरे पास एक तिथि है और मुझे इसे समय क्षेत्र को जागरूक करने की आवश्यकता है।pytz और astimezone() को एक बेवकूफ डेटाटाइम
local_tz = timezone('Asia/Tokyo')
start_date = '2012-09-27'
start_date = datetime.strptime(start_date, "%Y-%m-%d")
start_date = start_date.astimezone(local_tz)
now_utc = datetime.now(timezone('UTC'))
local_now = now_utc.astimezone(local_tz)
मैं अगर यह सच है खोजने की जरूरत है:
print start_date>local_now
लेकिन मैं इस त्रुटि मिलती है।
start_date = start_date.astimezone(local_tz)
ValueError: astimezone() cannot be applied to a naive datetime
मैं यूटीसी को टोक्यो को बिना किसी समस्या के रूपांतरित करता हूं। मुझे टोक्यो में start_date टाइमज़ोन जागरूक विज्ञापन को अच्छी तरह से बनाना होगा।
धन्यवाद
[pytz docs] (http://pytz.sourceforge.net/) का कहना है कि tzinfo विशेषता का उपयोग करना कई टाइमज़ोन के लिए सीधे विफल रहता है। इसके बजाय tz.localize() का उपयोग किया जाना चाहिए। – jfs
@JFSebastian यह एक अच्छा उदाहरण है कि यह कितनी बुरी तरह विफल हो सकता है http://stackoverflow.com/questions/11442183/pytz-timezone-shows-weird-results-for-asia-calcutta और ध्यान दें कि इसमें कुछ भी नहीं है डीएसटी के साथ। –
@ जेएफ। सेबेस्टियन: दिलचस्प। उत्तर अपडेट किया गया। –