【问题标题】:Python dateutil parser parses wrong number of secondsPython dateutil 解析器解析错误的秒数
【发布时间】:2016-05-09 20:56:41
【问题描述】:

Python dateutil 正在正确解析字符串,但字符串的秒部分除外。

In [1]: from dateutil import parser
In [2]: parser.parse("05/09/2016 16:04.18")
Out[2]: datetime.datetime(2016, 5, 9, 16, 4, 10)

dateutil.parser 将 16:04.18 解析为 16 小时 4 分钟和 10 秒,而它应该是 18 秒。这是怎么回事?

【问题讨论】:

    标签: python python-datetime python-dateutil


    【解决方案1】:

    解析器不知道如何解释时间的最后一个非标准部分。 . 而不是 : 会将其扔掉。尝试改用parser.parse("05.09/2016 16:04:18")

    您也可以尝试使用 datetime 模块,因为它可以使用掩码进行自定义以处理任何日期和时间格式。

    from datetime import datetime
    date_object = datetime.strptime("05/09/2016 16:04.18", '%m/%d/%Y %H:%M.%S')
    

    【讨论】:

    • 看起来当你使用冒号时,dateutil.parser 读取它为秒,但当你使用句点时,dateutil.parser 读取它为百分之一分钟。
    • 是的,看起来你是对的。它以百分之一分钟的形式读取它,然后截断该值。
    猜你喜欢
    • 2011-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多