Heim  >  Artikel  >  Backend-Entwicklung  >  Python verwendet das Modul pytz zur Konvertierung von Zeitzonen

Python verwendet das Modul pytz zur Konvertierung von Zeitzonen

高洛峰
高洛峰Original
2017-02-25 10:47:041303Durchsuche

Vorwort

Ich bin kürzlich auf ein Problem gestoßen: Meine server und client liegen nicht in derselben Zeitzone und die server-Zeitzone ist EDT , das ist die östliche Zeitzone der Vereinigten Staaten, client, ist mein eigener Computer, die Zeitzone ist China Standard Time Zone, East Eighth District. Zu Testzwecken muss ich eine Uhrzeit an server senden, damit der Server zu diesem Zeitstempel einige Aktionen ausführen kann. Dieser Zeitstempel ist normalerweise die aktuelle Zeit plus 2 Minuten oder einige Minuten.

Normalerweise liegt der Osten der USA während der Sommerzeit 12 Stunden hinter uns, also subtrahieren Sie einfach diese 12 Stunden und addieren Sie dann zwei Minuten. Sie können Zeitstempel basierend auf server senden, aber nur die Hälfte der Zeit Es ist Sommerzeit, also denken Sie darüber nach, dies auf der Grundlage der Zeitzone vorzunehmen. Nach der Suche auf Baidu verfügt Python über ein Modul pytz, das sich auf Zeitzonen bezieht, aber es ist keine builtin-Methode und muss daher installiert werden.

1. Installieren Sie zuerst pytz, pip install pytz.

2. Testen Sie das Wasser und drucken Sie die Zeitzone der Vereinigten Staaten aus:

#-*-coding:utf-8-*-
#/usr/bin/env python

import pytz
print(pytz.country_timezones('us'))#[u'America/New_York', u'America/Detroit', u'America/Kentucky/Louisville', u'America/Kentucky/Monticello', u'America/Indiana/Indianapolis', u'America/Indiana/Vincennes', u'America/Indiana/Winamac', u'America/Indiana/Marengo', u'America/Indiana/Petersburg', u'America/Indiana/Vevay', u'America/Chicago', u'America/Indiana/Tell_City', u'America/Indiana/Knox', u'America/Menominee', u'America/North_Dakota/Center', u'America/North_Dakota/New_Salem', u'America/North_Dakota/Beulah', u'America/Denver', u'America/Boise', u'America/Phoenix', u'America/Los_Angeles', u'America/Anchorage', u'America/Juneau', u'America/Sitka', u'America/Metlakatla', u'America/Yakutat', u'America/Nome', u'America/Adak', u'Pacific/Honolulu']

Es gibt so viele Orte, aber da es im Osten liegt, wählen Sie einfach New York.

3. Drucken Sie als Nächstes die aktuelle Uhrzeit im Osten der USA aus.

#-*-coding:utf-8-*-
#/usr/bin/env python

import pytz
import time
import datetime
tz = pytz.timezone('America/New_York')
a = datetime.datetime.now(tz).strftime("%Y-%m-%d %H:%M:%S")
print(a)

#2016-08-18 02:26:53

4. und dann zurück in das Standardformat konvertieren:

#-*-coding:utf-8-*-
#/usr/bin/env python

import pytz
import time
import datetime

print(pytz.country_timezones('us'))
tz = pytz.timezone('America/New_York')
a = datetime.datetime.now(tz).strftime("%Y-%m-%d %H:%M:%S")
print(a)
b=time.mktime(time.strptime(a,'%Y-%m-%d %H:%M:%S'))+int(2)*60
print(time.strftime("%Y-%m-%d %H:%M",time.localtime(b)))

#2016-08-18 02:28

Mehr Python verwendet zum Konvertieren das Modul pytz Für Artikel zum Thema Zeitzone beachten Sie bitte die chinesische PHP-Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn