总结:Mac上的"负面"时间戳工作正常,但在Windows上我无法将它们转换为可用的东西.
详细信息:我可以在Windows上有一个文件,其修改时间是1904年:
$ ls -l peter.txt
-rw-r--r-- 1 sync Administ 1 Jan 1 1904 peter.txt
Run Code Online (Sandbox Code Playgroud)
在python中:
>>> import os
>>> ss = os.stat('peter.txt')
>>> ss.st_mtime
-2082816000.0
Run Code Online (Sandbox Code Playgroud)
大.但我无法弄清楚如何将负时间戳转换为日期/时间字符串.在Mac上,此代码工作正常.
>>> datetime.fromtimestamp(-2082816000)
datetime.datetime(1904, 1, 1, 0, 0)
Run Code Online (Sandbox Code Playgroud)
从这里我可以做任何我想要的格式化.
但在Windows上它失败了:
>>> datetime.fromtimestamp(-2082816000)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: timestamp out of range for platform localtime()/gmtime() function
Run Code Online (Sandbox Code Playgroud)
并尝试我能想到的任何其他事情失败:
>>> time.gmtime(-2082816000)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: (22, 'Invalid argument')
Run Code Online (Sandbox Code Playgroud)
精彩的python-dateutil包似乎没有这个功能.我看过时间,日历和日期时间模块.有帮助吗?