什么是本地时区



>假设服务器 (gae) 位于美国西海岸 (PST),上午 10:00 在纽约市 (EST) 进行约会,芝加哥 (CST) 的一个人正在使用他的设备知道在纽约的约会时间。

CST 中芝加哥设备中的人在访问驻留在 EST 的网站时如何看到约会是在上午 10 点,以及 MST 中的开发人员如何使用 python 在日期时间、时间和日历中设置参数是否重要?

另外,这里的"本地时间"是什么时区?

第三方模块 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

相关内容

  • 没有找到相关文章

最新更新