我在美国,我希望获得一段代码的UTC时间(不受夏令时影响):
localtime = strftime("%m%d%y%H%M", gmtime())
现在,这段代码让我有时间在英格兰的格林威治。我知道我的时间偏移为-8(GMT -8)。如何将UTC时间转换为特定时区? (使用Python库,不是将小时转换为整数, - 8,而不是将其转换回来)
谢谢。
答案 0 :(得分:5)
尝试使用datetime模块:
datetime.datetime.utcnow() + datetime.timedelta(hours=-8)
顺便说一句,UTC没有时区,它是通用协调时间,它在任何地方都是一样的。
答案 1 :(得分:3)
只需使用localtime()而不是gmtime()函数:
localtime = time.strftime("%m%d%y%H%M", time.localtime())
从python时间模块: “与gmtime()类似但转换为本地时间。如果未提供secs或None,则使用time()返回的当前时间。当DST应用于给定时间时,dst标志设置为1.”
查看DST是否适用:
time.daylight
答案 2 :(得分:1)
需要在任何详细程度支持时区取决于应用程序。世界各地的时间调整规则更具政治性而非理性,没有适合每种应用的标准。
为此目的,有一个有用的第三方模块:http://pytz.sourceforge.net/