1
3
您遇到的问题是,您的时间以纳秒为单位,而python datetime模块当前没有纳秒功能。 It is proposed for the future, however . 如果应用程序允许的话,最好的选择是将时间的分辨率降低到微秒。 以下是解决此问题的方法:
p1代表“2018-12-28t21:59:59” p2表示对datetime来说太大的秒的浮点部分(它是纳米精度),因此我们将其限制为6位数([:-1]删除z,而[:6]只限制为微秒)。这会将分辨率降低到微秒,而不进行取整——只会截断。如果需要舍入,可以将p2转换为float,舍入它,然后转换回str并截断结尾。 这将把时间的分辨率降低到日期时间可以处理的程度。这也假设您的秒数总是一个浮点数,并将以某个点结束。如果不是,您可能需要调整regex,但我试图尽可能清楚地说明这个示例。 我相信有一种更简单的方法可以做到这一点,但这一点先在我脑海中闪现,现在已经很晚了。我在考虑直接操作dt字符串,但我不确定9位数是否总是在小数部分。祝你好运! |
2
0
试试这个
|
3
0
允许的微秒范围是
你可以在这里了解更多 https://docs.python.org/2/library/datetime.html#datetime-objects 如果给定的参数超出这些范围,则会引发ValueError。 如果删除微秒的最后3个字符( 也就是说,它应该工作得很好。
一种解决方案是保持占用微秒子串,使其保持在最大值以下。我相信还有其他方法可以做到这一点。这正是我现在能想到的。
|
July · 如何定义数字间隔,然后四舍五入 1 年前 |
user026 · 如何根据特定窗口的平均值(行数)创建新列? 1 年前 |
Ashok Shrestha · 需要追踪特定的颜色线并获取坐标 1 年前 |
Nicote Ool · 在FastApi和Vue3中获得422 1 年前 |
Abdulaziz · 如何对集合内的列表进行排序[重复] 1 年前 |
asmgx · 为什么合并数据帧不能按照python中的预期方式工作 1 年前 |