仅仅想明确一下,这是 Python 2.6 版本,我使用的是 pytz 库。
这是为一个只涉及美国时区的应用程序所需的,我需要能够针对今天锚定日期并获取 PST 时区下晚上 8 点和 11 点的 Unix 时间戳(纪元时间)。
这真的让我疯狂了。
> pacific = pytz.timezone("US/Pacific")
> datetime(2011,2,11,20,0,0,0,pacific)
datetime.datetime(2011, 2, 11, 20, 0, tzinfo=<DstTzInfo 'US/Pacific' PST-1 day, 16:00:0 STD>)
> datetime(2011,2,11,20,0,0,0,pacific).strftime("%s")
'1297454400'
zsh> date -d '@1297454400'
Fri Feb 11 12:00:00 PST 2011
即使我设置了时区并使用该时区创建日期时间,它仍将其创建为 UTC,然后进行转换。这是一个问题,因为当我尝试进行计算时,UTC会领先一天。
有没有一种简单(或至少合理)的方法来生成今天下午8点PST的时间戳?
(清楚地说,我确实了解在大多数情况下使用UTC的价值,比如数据库时间戳或用于普通存储。但这不是其中之一,我特别需要一个PST晚上的时间戳,而UTC不应该涉及其中。)