根据GMT(伦敦)的夏令时检测和更改时间增量



我有以下脚本snippit:

newtime = datetime.datetime.strptime(result_time, "%H:%M")
newtime += datetime.timedelta(hours=5)
result_time = str(newtime.time())[:-3]

当夏令时生效时,应将中间线更改为:

newtime += datetime.timedelta(hours=6)

然而,我无法使用time.localtime()来做这件事,它应该是在检查伦敦的GMT时间。。。

有什么想法吗?

伦敦与GMT不同。伦敦是GMT还是BST取决于夏令时是否有效。

  • 如果您指的是伦敦,请使用带有Europe/London时区标识符的pytz。

  • 如果您指的是GMT,那么使用带有UTC时区标识符的pytz。

  • 如果您可以运行Python 3,并且不需要其他时区,那么您可以放弃pytz,只需将tzinfo设置为timezone.utc,就像Python 3.3直接提供的那样。

在这两种情况下,您都不希望专门为datetime对象添加5或6小时。如果您试图补偿另一个时区,如美国中央时间,那么您只需使用带有适当标识符的pytz,如America/Chicago

如果出于某种原因,您试图使用执行python代码的机器的本地时区,请使用tzlocal模块,然后将其传递给pytz。

相关内容

  • 没有找到相关文章

最新更新