在Python中将unix纪元时间转换为windows纪元时间

use*_*625 4 python unix windows datetime epoch

快速问题:是否有pythonic(无论是否在标准库中)将unix 32位纪元时间转换为Windows 64位纪元时间并再次返回?

Fre*_*Foo 9

您可以将POSIX时间戳转换为datetimewith

>>> tstamp = 1325178061  # right about now
>>> from datetime import datetime
>>> datetime.fromtimestamp(tstamp)
datetime.datetime(2011, 12, 29, 18, 1, 1)
Run Code Online (Sandbox Code Playgroud)

fromtimestamp命名构造函数接受所有平台上的POSIX时间戳(!).

转换为Windows时间戳将是减去Windows时代的问题,维基百科称其为1601年1月1日,并将结果转换timedelta为数秒:

>>> W_EPOCH = datetime(1601, 1, 1)
>>> (datetime.fromtimestamp(tstamp) - W_EPOCH).total_seconds()
12969655261.0
Run Code Online (Sandbox Code Playgroud)

现在,无论您喜欢哪种方式float,您都可以将其转换int为64位数量并存储.