datetime - python datetime.strptime : ignore fraction of a second

标签 datetime floating-point format python-2.7

我正在努力将人类可读的时间转换为 datetime 对象。为此,我使用 datetime.datetime.strptime

很简单,但是,我所拥有的人类可读时间包含几分之一秒,我无法解析。如果这是一个常量,我可以将其合并为格式的一部分。然而,由于它不是一个常数,我无法这样做。

这就是我现在正在做的事情:

>>> humanTime = '2012/06/10T16:36:20.509Z'
>>> datetime.datetime.strptime(humanTime, "%Y/%m/%dT%H:%M:%SZ")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "lib/python2.7/_strptime.py", line 325, in _strptime
    (data_string, format))
ValueError: time data '2012-06-10T16:36:20.507Z' does not match format '%Y-%m-%dT%H:%M:%SZ'

所以我认为这里的问题是那一秒的一小部分是不可解析的。我真的不在乎那一瞬间。除了切片字符串之外,有没有办法让我可以让 datetime 忽略秒的一小部分(最好使用格式)?

我有一种感觉,我可能错过了一些非常基本的东西。如果有任何帮助,我将不胜感激。

最佳答案

由于我真的不关心秒的几分之一,因此我应该只获取人类可读字符串的前 19 个字符,并对其应用简单的格式。

>>> humanTime = '2012/06/10T16:36:20.509Z'
>>> datetime.datetime.strptime(humanTime[:19], "%Y/%m/%dT%H:%M:%S")
datetime.datetime(2012, 6, 10, 16, 36, 20)

关于datetime - python datetime.strptime : ignore fraction of a second,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11302013/

相关文章:

php - MySQL/PHP : Date functions for page view statistics and popularity

java - 日期差异包括时区偏移,怎么了?

C# 将字符串格式化为日期

asp.net-mvc - 英国日期时间字段的数据注释范围

c - 使 C float 精确?

floating-point - 如何设置原子的CUDA浮点舍入模式?

python - 从格式化字符串内部切片字符串给出 'TypeError: string indices must be integers'

c++ - 关于 float 关系运算符否定的断言

javascript - moment().toObject() 输出格式

生成文件语法