我目前正在做的事情需要为世界各地的用户提供本地化时间。所有日期时间都存储为 UTC,因此转换它们很容易,而且我们有一个已知的、安全的参考点等。
然而,关于如何表达偏移量的一些事情让我有点挠头。
>>> timezone.now() # get the UTC-stamped server time as an example
datetime.datetime(2013, 5, 21, 16, 37, 54, 62598, tzinfo=<UTC>)
>>> eastern = pytz.timezone('US/Eastern') # localise this to US/Eastern
>>> utc_dt.astimezone(eastern)
datetime.datetime(2013, 5, 21, 12, 37, 54, 62598,
tzinfo=<DstTzInfo 'US/Eastern' EDT-1 day, 20:00:00 DST>)
(这是我在日期时间输出中的换行符,只是为了更容易发现我正在讨论的内容。)
偏移量的表达似乎有点过头了。与其简单地说它是与 UTC 的 -4 小时的偏移量,不如说是减去一天加 20:00 小时。那正确吗?