यूटीसी डेटाटाइम रूपांतरणों के बारे में कई सवाल हैं और ऐसा लगता है कि "सर्वश्रेष्ठ तरीका" की सर्वसम्मति नहीं है।पाइथन के साथ, यूटीसी डेटाटाइम कैसे लें, उपयोगकर्ताओं को समय-समय पर ऑटोडेट करें, और डेटाटाइम को वांछित प्रारूप में कनवर्ट करें?
इस के अनुसार: http://lucumr.pocoo.org/2011/7/15/eppur-si-muove/, pytz जाने का सबसे अच्छा तरीका है। वह इस datetime.datetime.utcnow().replace(tzinfo=pytz.utc)
की तरह समय-क्षेत्र पर परिवर्तित पता चलता है, लेकिन वह कहना नहीं है कैसे उपयोगकर्ता के समय क्षेत्र पाने के लिए ...
यह आदमी https://stackoverflow.com/a/7465359/523051 कहते हैं, "localize
डेलाइट सेविंग टाइम के लिए समायोजित कर देता है, replace
नहीं है"
हर कोई मैं देख रहा हूँ पीईटीजेड का उपयोग करके अपना टाइमज़ोन (users_timezone = timezone("US/Pacific")
) की आपूर्ति कर रहा है, जिसे मैं समझ नहीं पा रहा हूं क्योंकि आप नहीं जानते कि आपका दर्शक कहां है ...
यह लड़का https://stackoverflow.com/a/4771733/523051 टाइमज़ोन को स्वतः पहचानने का एक तरीका है, लेकिन यह dateutil
लाइब्रेरी का उपयोग कर रहा है, और pytz नहीं, जैसा कि अरमीन रोनाकर दोनों द्वारा अनुशंसित किया गया है और आधिकारिक पायथन दस्तावेज़ (http://docs.python.org/library/datetime.html#strftime-and-strptime-behavior, पीले रंग के बॉक्स में एंकर से ऊपर)
मुझे बस इतना ही सरल, भविष्य-सबूत, सभी डेलाइट बचत समय/आदि की आवश्यकता है, जो मेरे डेटाटाइम लेने के लिए विचार किया जाता है .utcnow() टिकट (2012-08-25 10:59:56.511479
), इसे उपयोगकर्ता के टाइमज़ोन रूपांतरित करें। और यह इस तरह दिखाने:
Aug 25 - 10:59AM
और अगर साल चालू वर्ष नहीं है, मैं चाहता हूँ
Aug 25 '11 - 10:59AM
मैं सीख लिया है कि tzlocal() बिल्कुल पर काम नहीं करता Heroku। उपरोक्त फ़ंक्शन बस यूटीसी समय देता है। – chrickso
यह भी ध्यान दें, मैंने सभी उम्मीदों को खो दिया है कि उपयोगकर्ता के टाइमज़ोन को सटीक रूप से निर्धारित करने और स्वचालित रूप से समय समायोजित करने का उनका एक विश्वसनीय तरीका है। मैं देखता हूं कि ट्विटर के पास आपके टाइमज़ोन को समायोजित करने की सेटिंग है, इसलिए यह तरीका होना चाहिए: उपयोगकर्ता की वरीयता संग्रह करें और रूपांतरणों के लिए इसका उपयोग करें। – chrickso