如何根据时区获取UTC时间?
我在美国,想要获取不受夏令时影响的UTC时间,用于一段代码:
localtime = strftime("%m%d%y%H%M", gmtime())
现在这段代码给我的时间是英国格林威治的时间。我知道我所在的时区是-8(GMT -8)。我该如何获取特定时区的UTC时间呢?(使用Python库,而不是简单地把小时数转换成整数-8,然后再转换回来)
3 个回答
1
支持时区的细节程度完全取决于你的应用程序。全球各地的时间调整规则更多是出于政治原因,而不是理性考虑,所以没有一个标准适合所有的应用。
为了这个目的,有一个很有用的第三方模块:http://pytz.sourceforge.net/
3
只需使用localtime()函数,而不是gmtime()函数:
localtime = time.strftime("%m%d%y%H%M", time.localtime())
来自Python的时间模块: “和gmtime()类似,但它转换为当地时间。如果没有提供secs参数或者它是None,那么就会使用time()返回的当前时间。当给定的时间适用夏令时(DST)时,dst标志会被设置为1。”
要查看是否适用夏令时:
time.daylight
9
试试使用 datetime 模块:
datetime.datetime.utcnow() + datetime.timedelta(hours=-8)
顺便说一下,UTC 没有时区,它是协调世界时间,全球都是一样的。