如何在python中将1970年之前的日期转换为历代?

如何在python中将1970年之前的日期转换为历代?,python,python-3.x,epoch,Python,Python 3.x,Epoch,在Python3.x中,如何将1970年之前的日期转换为历元 对于oposite方向给出了许多示例,其中一个具有负历元值,并使用timedelta获取日期。然而,我找不到这样的例子,我们有真实的日期时间,并希望得到历元时间戳 例如,我正在执行以下操作: timestamp = datetime.datetime(1964, 12, 1, 0, 0).timestamp() 这给了我“OSError:[Errno 22]无效参数” (我想这样做的原因是编辑扫描图片的创建日期,以便它反映曝光时间,

在Python3.x中,如何将1970年之前的日期转换为历元

对于oposite方向给出了许多示例,其中一个具有负历元值,并使用timedelta获取日期。然而,我找不到这样的例子,我们有真实的日期时间,并希望得到历元时间戳

例如,我正在执行以下操作:

timestamp = datetime.datetime(1964, 12, 1, 0, 0).timestamp()
这给了我“OSError:[Errno 22]无效参数”

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

我的确切设置: Windows x64
Python3.7看起来这是Windows上一个尚未修复的bug:

我刚刚在Python3.8.2上运行了这一行(如果有必要的话,它是为Alpine Linux构建的,尽管它在Windows上是在WSL下运行的),它运行得很好,生成了
-160444800.0
。您需要更详细地说明您的设置,以帮助复制者。我可以在Windows 10上复制错误。@ShadowRanger感谢您的测试!我在windows上使用3.7.9,因此它可能确实是固定的。我会立即尝试安装3.8。编辑:你的下一个答案与我的答案不符。那么,一个windows bug。这更难做些什么。也许有人想出了解决办法?