对于下面的代码,我希望seconds_input和seconds_output是相同的。但我有一个小时的区别:
import time
seconds_input = 1571875186
date_struct1 = time.gmtime(seconds_input)
tm_str = time.strftime("%Y-%m-%d %H:%M:%S", date_struct1)
date_struct2 = time.strptime(tm_str, '%Y-%m-%d %H:%M:%S')
seconds_output = time.mktime(date_struct2)
print(seconds_input - seconds_output)
print(date_struct1, date_struct2)我认为这可能是由于tm_isdst=-1在date_struct2中造成的,但我不知道如何将其设置为0。
我尝试过date_struct2.tm_isdst = 0,但得到了以下错误:
AttributeError: readonly attribute更新:
如果seconds_input与未来的日期相对应,那么seconds_input和seconds_output将是相同的。
例如,如果seconds_input = 1673084786。
发布于 2019-11-01 16:05:19
在我的例子(GMT+9)中,我有9个小时的差异。
所以我想你应该知道你自己的TZ和GMT之间的区别--就像它应该有的那样。
要正确地转换,您必须增加(或减去)3600秒,即1小时。
https://stackoverflow.com/questions/58662227
复制相似问题