如何获取给定时区的 UTC 时间?
我在美国,我想获取一段代码的 UTC 时间(不受夏令时的影响):
localtime = strftime("%m%d%y%H%M", gmtime())
现在该代码给了我在英国格林威治的时间。我知道我的时间偏移为 -8 (GMT -8)。如何获取特定时区的 UTC 时间? (使用 Python 库,不将小时转换为整数 - 8,然后将其转换回来)
I am in the US and I want to get the UTC time (without the effect of Daylight Saving Time) for a piece of code:
localtime = strftime("%m%d%y%H%M", gmtime())
Right now that code give me time in Greenwich, England. I know that I have a time offset of -8 (GMT -8). How can I get the UTC time to a specific timezone? (using Python library, not casting the hour to integer, - 8, and than convert it back)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
尝试使用日期时间模块:
顺便说一句,UTC 没有时区,它是通用协调时间,在任何地方都相同。
Try the datetime module:
BTW, UTC doesn't have timezones, it's Universal Co-ordinated Time, it's the same everywhere.
只需使用 localtime() 而不是 gmtime() 函数:
来自 python time 模块:
“与 gmtime() 类似,但转换为本地时间。如果未提供 secs 或没有提供,则使用 time() 返回的当前时间。当 DST 适用于给定时间时,dst 标志设置为 1。”
要查看 DST 是否适用:
Just use the localtime() rather than gmtime() function:
From the python time module:
"Like gmtime() but converts to local time. If secs is not provided or None, the current time as returned by time() is used. The dst flag is set to 1 when DST applies to the given time."
To see if DST applies:
有一个有用的第三方模块用于此目的: http://pytz.sourceforge.net/
There is a useful third party module for that purpose: http://pytz.sourceforge.net/