小编Pot*_*bic的帖子

在Windows上,如何将1970年之前的时间戳转换为易于管理的东西?

总结: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包似乎没有这个功能.我看过时间,日历和日期时间模块.有帮助吗?

python windows

4
推荐指数
2
解决办法
1282
查看次数

标签 统计

python ×1

windows ×1