我们有一个功能,可以将历元转换为日期时间对象,并在python中将它们格式化为字符串.此外,我们还希望将超出范围的纪元转换为datetime,并将其格式化为字符串.然而,python datetime对象不支持大日期,例如将格式设置为13/07/15589日期的429790838400.

[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from datetime import datetime
>>> dt = datetime.fromtimestamp(429790838400)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: year 15589 is out of range

有人能指导我们如何做到这一点吗?

推荐答案

内置的python datetime受自1970年以来的秒数限制,可以存储为整数.作为LMC correctly pointed out,你的问题的简短答案是"你不能"

cftime库是为气候科学、天文学和其他时间范围不够的应用而开发的.它有一个与日期时间兼容的界面,但支持更广泛的日历和日期范围.

看看cftime.num2date.我认为它应该适用于你的开箱即用的例子,只要你的整数在标准的公历中定义为自1970年以来的秒.

此外,如果您打算与pandas或其他pydata库一起使用CFTime,那么值得查看xr.cftime_range,它将创建一个范围索引,用于重新采样操作等.

Python相关问答推荐

如何在BeautifulSoup中链接Find()方法并处理无?

我在使用fill_between()将最大和最小带应用到我的图表中时遇到问题

Python 约束无法解决n皇后之谜

我们可以为Flask模型中的id字段主键设置默认uuid吗

OR—Tools CP SAT条件约束

numpy卷积与有效

在vscode上使用Python虚拟环境时((env))

海上重叠直方图

Odoo 16使用NTFS使字段只读

Pandas—在数据透视表中占总数的百分比

如果满足某些条件,则用另一个数据帧列中的值填充空数据帧或数组

如何使用两个关键函数来排序一个多索引框架?

在不同的帧B中判断帧A中的子字符串,每个帧的大小不同

交替字符串位置的正则表达式

如何在海上配对图中使某些标记周围的黑色边框

计算空值

Python日志(log)库如何有效地获取lineno和funcName?

上传文件并使用Panda打开时的Flask 问题

类型对象';敌人';没有属性';损害';

如何使用count()获取特定日期之间的项目