小编典典

如何将本地时间字符串转换为 UTC?

all

如何将 本地时间的日期时间字符串转换为 UTC 时间 的字符串?

我确定我以前做过这个,但找不到它,所以希望将来能帮助我(和其他人)做到这一点。

澄清 :例如,如果我2008-09-17 14:02:00在本地时区(+10),我想生成一个具有等效UTC时间的字符串:2008-09-17 04:02:00.

此外,来自http://lucumr.pocoo.org/2011/7/15/eppur-si-muove/,请注意,通常这是不可能的,因为 DST
和其他问题没有从本地时间到的唯一转换UTC 时间。


阅读 90

收藏
2022-03-28

共1个答案

小编典典

感谢@rofly,从字符串到字符串的完整转换如下:

time.strftime("%Y-%m-%d %H:%M:%S", 
              time.gmtime(time.mktime(time.strptime("2008-09-17 14:04:00", 
                                                    "%Y-%m-%d %H:%M:%S"))))

time我对/calendar功能的总结:

time.strptime
字符串 –> 元组(没有应用时区,所以匹配字符串)

time.mktime
本地时间元组->自纪元以来的秒数(始终为本地时间)

time.gmtime
自纪元以来的秒数 –> UTC 元组

calendar.timegm
UTC中的元组->自纪元以来的秒数

time.localtime
自纪元以来的秒数->本地时区中的元组

2022-03-28