datetime.fromtimestamp 在 Path 对象的 ctime_ns 上给出错误 22 无效参数

datetime.fromtimestamp Gives Error 22 Invalid Argument on ctime_ns from Path object

我在 Windows 环境中试图获取 ctime 路径对象,如下所示:

tfileobj = Path(r"..\odfs\etest\odfs\test.txt")
tstamp =  datetime.fromtimestamp(tfileobj.stat().st_ctime_ns).strftime('%b-%d-%Y_%H:%M:%S')

但这给了我错误:

tstamp =  datetime.fromtimestamp(tfileobj.stat().st_ctime_ns).strftime('%b-%d-%Y_%H:%M:%S')
OSError: [Errno 22] Invalid argument

是的,路径是真实路径。为了安全起见,我刚刚删除了额外的目录信息

为什么我会遇到这些问题?

没有datetime函数,stat().st_ctime_ns returns:

1596581792639031900

您正在尝试将纳秒传递给需要 POSIX 时间戳的函数。只需将时间戳除以 10 亿:

datetime.fromtimestamp(tfileobj.stat().st_ctime_ns / 1000000000).strftime('%b-%d-%Y_%H:%M:%S')