1

サーバー (gae) が米国西海岸 (PST) にあると仮定すると、予定はニューヨーク市 (EST) で午前 10:00 にあり、シカゴ (CST) の人は自分のデバイスを使用して予定の時刻を知ることができます。ニューヨーク。

CST にいるシカゴのデバイスの担当者は、EST にある Web サイトにアクセスしたときに予定が午前 10 時であることをどのように確認できますか? また、MST にいた開発者が日時、時刻、およびPythonを使用したカレンダー?

また、ここでの「現地時間」とはどのタイムゾーンですか?

4

1 に答える 1

2

サードパーティのモジュールであるpytzは、タイムゾーン間で変換する簡単な方法を提供します。例えば、

import datetime as dt
import pytz

utc = pytz.utc
western = pytz.timezone('US/Pacific')
newyork = pytz.timezone('America/New_York')
chicago = pytz.timezone('America/Chicago')

誰かがニューヨークで午前10時に予定を作成するとします。

date = dt.datetime(2012, 8, 12, 10)    # naive datetime
print(date)
# 2012-08-12 10:00:00  

# localize converts naive datetimes to timezone-aware datetimes.
date_in_newyork = newyork.localize(date)  # timezone-aware datetime
print(date_in_newyork)
# 2012-08-12 10:00:00-04:00

西海岸のサーバーは、この日時をUTCで保存する必要があります。

# astimezone converts timezone-aware datetimes to other timezones.
date_in_utc = date_in_newyork.astimezone(utc)
print(date_in_utc)
# 2012-08-12 14:00:00+00:00

これで、シカゴの人が予定の時刻を知りたい場合、サーバーはUTCをシカゴの時刻やニューヨークの時刻などに変換できます。

date_in_chicago = date_in_utc.astimezone(chicago)
print(date_in_chicago)
# 2012-08-12 09:00:00-05:00

date_in_newyork2 = date_in_utc.astimezone(newyork)
print(date_in_newyork2)
# 2012-08-12 10:00:00-04:00
于 2012-08-12T20:59:51.187 に答える