奇怪的 python 时区行为。有人可以解释一下吗

发布于 2025-01-16 23:53:31 字数 772 浏览 1 评论 0原文

我正在尝试生成特定时区的时间。我在美国/纽约说“09:00:00”。我想用今天的日期和“美国/纽约”时区的给定时间生成一个日期时间...

所以我尝试了这个..

import pytz
from datetime import datetime, time

nytz = pytz.timezone( "America/New_York" )

nynow = datetime.now().astimezone( nytz )

nine_am = time( 9, 0, 0, 0 )

ny9am = datetime.combine( nynow.date(), nine_am, nytz )

print( nynow )

print( ny9am )

但它打印出一些奇怪的东西,我无法解决。

2022-03-25 08:53:45.984502-04:00
2022-03-25 09:00:00-04:56

我不知道 :56 是从哪里来的。如果我现在尝试将该时间转换为英国时间...

uk_ny9am = ny9am.astimezone( pytz.timezone( "Europe/London" ) )#
print( uk_ny9am )

我得到的

2022-03-25 13:56:00+00:00

时间是 56 分钟..英国/美国只有 4 或 5 小时不同,所以我不知道 python 是什么正在做..

任何想法!

I'm trying to generate a time in a particular timezone. I am given, say "09:00:00" in America/New_York. I'd like to generate a datetime with todays date and the given time in the "America/New_York" timezone...

So I tried this..

import pytz
from datetime import datetime, time

nytz = pytz.timezone( "America/New_York" )

nynow = datetime.now().astimezone( nytz )

nine_am = time( 9, 0, 0, 0 )

ny9am = datetime.combine( nynow.date(), nine_am, nytz )

print( nynow )

print( ny9am )

But it prints out something strange and I can't work it out.

2022-03-25 08:53:45.984502-04:00
2022-03-25 09:00:00-04:56

I've no idea where the :56 is coming from. If I try now and convert that time into, say into UK time...

uk_ny9am = ny9am.astimezone( pytz.timezone( "Europe/London" ) )#
print( uk_ny9am )

I get

2022-03-25 13:56:00+00:00

which, at the present time, is 56 minutes out.. UK / US are only ever 4 or 5 hours different so I have no idea what python is doing..

Any ideas !!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

臻嫒无言 2025-01-23 23:53:32

实际上,经过更多搜索后,我发现了这个...

pytz 的奇怪时区问题

似乎总结得很好。

Actually, after doing some more searching I found this...

Weird timezone issue with pytz

Seems to sum it up nicely.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文