如何在 python 中将 1970 年前的日期转换为纪元? [复制]

Posted

技术标签:

【中文标题】如何在 python 中将 1970 年前的日期转换为纪元? [复制]【英文标题】:How do I convert a pre-1970 date to epoch in python? [duplicate] 【发布时间】:2021-01-19 20:14:03 【问题描述】:

如何在 Python 3.x 中将 1970 年之前的日期转换为纪元?

针对相反方向给出了许多示例,其中一个具有负纪元值并使用 timedelta 获取日期。但是我找不到我们拥有真实日期时间并想要获取纪元时间戳的示例。

例如我正在做以下事情:

timestamp = datetime.datetime(1964, 12, 1, 0, 0).timestamp()

这给了我“OSError: [Errno 22] Invalid argument”

(我想这样做的原因是编辑扫描图片的创建日期,使其反映曝光时间,而不是扫描日期。)

我的确切设置: 视窗 x64 Python 3.7

【问题讨论】:

我刚刚在 Python 3.8.2 上运行了该行(如果重要的话,它是为 Alpine Linux 构建的,尽管在 Windows 上的 WSL 下运行),它运行良好,产生了-160444800.0。您将需要更具体地了解您的设置以帮助复制者。 我可以在 Windows 10 上重现该错误。 @ShadowRanger 感谢您的测试!我在 Windows 上使用 3.7.9,所以它可能确实是固定的。我会立即尝试安装 3.8。编辑:你的下一个答案越过了我的。那么,一个Windows错误。这更难做点什么。也许有人想出了解决方法? 【参考方案1】:

看起来这是 Windows 上尚未修复的错误:Issue 37527: Timestamp conversion on windows fails with timestamps close to EPOCH

【讨论】:

以上是关于如何在 python 中将 1970 年前的日期转换为纪元? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Python 中将日期时间对象转换为自纪元(unix 时间)以来的毫秒数?

mysql 基础命令

如何获得自 1970 年 1 月 1 日以来 Python 日期时间对象的秒数?

如何在EXCEL中将字符转成日期 如19970828转成1997-08-28

如何在 iOS/XCode 中将毫秒时间戳转换为日期和时间?

如何在PHP中将日期YYYY-MM-DD转换为纪元[重复]