मैं एक प्रोग्राम लिख रहा हूं जो टाइमज़ोन के साथ बहुत कुछ करता है और उन्हें पार करता है। दो चीजें जो मैं सबसे ज्यादा सौदा करता हूं वे "अब" से डेटाटाइम ऑब्जेक्ट बना रहे हैं और फिर एक बेवकूफ डेटाटाइम ऑब्जेक्ट को स्थानांतरित कर रहे हैं।पायथन में डेलाइट बचत समय
प्रशांत समय क्षेत्र में अब से एक datetime वस्तु बनाने के लिए, मैं इस समय इस (अजगर 2.7.2+)
from datetime import datetime
import pytz
la = pytz.timezone("America/Los_Angeles")
now = datetime.now(la)
डीएसटी के संबंध में यह सही है कर रहा हूँ? यदि नहीं, तो मुझे लगता है कि मुझे करना चाहिए:
now2 = la.localize(datetime.now())
मेरा प्रश्न है क्यों? क्या कोई मुझे एक मामला दिखा सकता है जहां पहला गलत है और सेकंड सही है?
मेरे सेकेंड के प्रश्न के लिए, मान लीजिए कि मेरे पास लॉस एंजिल्स, सीए में 9/1/2012 सुबह 8:00 बजे कुछ उपयोगकर्ता इनपुट से एक निष्क्रिय तिथि और समय था। इस तरह डेटाटाइम बनाने का सही तरीका है:
la.localize(datetime(2012, 9, 1, 8, 0))
यदि नहीं, तो मुझे इन डेटाटाइम का निर्माण कैसे करना चाहिए?
किसी दिए गए टाइमज़ोन में वर्तमान समय प्राप्त करने का बेहतर तरीका यह है: 'datetime.now (tz)'। – jfs
@ जेएफ। सेबेस्टियन मुझे संदेह है कि 'pytz' timezones के साथ विश्वसनीय रूप से काम नहीं करता है, इसी कारण से' डेटाटाइम 'कन्स्ट्रक्टर उनके साथ काम नहीं करता है। –
यह काम करता है: [datetime.now (pytz_timezone) 'विफल क्यों होता है?] (Http://stackoverflow.com/q/31886808/4279) – jfs