在 Python 中为时间分配日期



在纽约服务器上运行的Python脚本从websocket API接收实时数据流,其中仅给出时间,例如:8:21:56。提供的时间采用时区Asia/ChongqingUTC +08:00。本地服务器位于时区America/New_York UTC -05:00

这意味着两个时区的日期每天不同 12-13 小时,具体取决于夏令时。

问:知道我的服务器位于不同的时区,如何找到将时间转换为适当日期时间所需的日期?例如:如果服务器上的本地日期是2015-12-05,则以UTC时区将8:21:56转换为2015-12-06 7:36:56.000Z

America/New_York像许多其他时区一样,在不同的日期可能有不同的UTC偏移量。

要获得一个时区(Asia/Chongqing(中的日期对应于该时区(Asia/Chongqing(中的给定时间('8:21:56'(,假设您知道另一个时区(America/New_York(的日期,您应该创建一个类似于pytz .localize()方法的算法,其中困难的部分是将本地时间转换为UTC,这并不总是可能的 - 其余的很简单(如果您知道UTC日期/时间和区域ID例如Asia/Chongqing,那么很容易(utc_dt.astimezone(tz).date()(在Asia/Chongqing中获取日期。

如果您需要在给定日期范围内仅支持固定数量的时区,则可以简化算法。

最新更新