जिस तरह से मैं यह करता हूं वह pytz मान्य टाइमज़ोन नामों का उपयोग कर रहा है।
class Location(models.Model):
....
time_zone = models.CharField(max_length=100, blank=True, null=True, choices=TIMEZONES) # 64 min
....
सूचना मैं खाली & अशक्त सेट: मैं केवल लोगों को मैं की जरूरत है, यानी
TIMEZONES = (
'Canada/Atlantic',
'Canada/Central',
'Canada/Eastern',
'Canada/Mountain',
'Canada/Pacific',
)
मैं तो एक स्थान वर्ग है जो इस तरह के रूप में एक चार फील्ड के रूप में समय क्षेत्र सेट है प्रतिबिंबित करने के लिए अपनी सूची समायोजित क्षेत्र को वैकल्पिक बनाने के लिए सही है। आगे के विचारों के लिए django-timezone-field fields.py पर एक नज़र डालें।
pytz के साथ अपने कोड में इसके उपयोग के लिए, मैं आयात समय क्षेत्र:
from pytz import timezone
import datetime
from locations.models import Location # my object that has the time_zone field
loc = Location.objects.get(pk=1) #get existing location or your object that has time_zone field
utc = pytz.utc
some_utc_date = datetime.datetime(2002, 10, 27, 6, 0, 0).replace(tzinfo=utc) #tz aware
some_date.astimezone(timezone(loc.time_zone))
बदलें datetime.datetime (2002, 10, 27, 6, 0, 0) datetime क्षेत्र है कि आपके स्थान से मेल खाती है साथ या विशिष्ट ऑब्जेक्ट जिसमें time_zone फ़ील्ड है। मेरे मामले में मैं अपने सभी दिनांक फ़ील्ड को एक मोंगोडीबी संग्रह में यूटीसी प्रारूप में संग्रहीत करता हूं। जब मैं डेटा पुनर्प्राप्त करता हूं और मानव पठनीय आउटपुट बनाना चाहता हूं, तो मैं आउटपुट में दिनांक दिखाने के लिए उपर्युक्त विधि का उपयोग करता हूं। आप टेम्पलेट्स में इसे संभालने के लिए एक कस्टम टैग भी बना सकते हैं। अधिक जानकारी के लिए pytz दस्तावेज़ देखें।
मैंने कहीं तो पर अपने आवेदन sumbit करना चाहते हैं जब वह/वह चलाता है इस ऐप में इसके चल रहे वातावरण में पिटज़ होना चाहिए? –