dateutil.parser的奇怪行为

时间:2016-04-28 14:46:56

标签: python date parsing

有人可以解释一下我为什么会出现这种行为与“' t'参数

from dateutil.parser import parse
parse('t')
  

Out [4]:datetime.datetime(2016,4,28,0,0)

当我除外:

parse('z')
  

追踪(最近的呼叫最后):
  [...]
  ValueError:未知的字符串格式

1 个答案:

答案 0 :(得分:1)

t是一个特殊情况,因为它是"jump" values之一(解析为here时的用法):

JUMP = [" ", ".", ",", ";", "-", "/", "'",
        "at", "on", "and", "ad", "m", "t", "of",
        "st", "nd", "rd", "th"]

换句话说,解析tm不会导致“未知字符串格式”错误。

z也是特殊情况,因为它可以有special meaning - “zulu”/“零偏移”(这是{{3}的一部分}),但这不会对结果产生太大影响,parse("q")parse("u")也会产生“未知字符串格式”错误。

parse("t")parse("z")都会导致“模糊”模式中的默认/当前日期:

>>> parse('t', fuzzy=True)
datetime.datetime(2016, 4, 28, 0, 0)
>>> parse('z', fuzzy=True)
datetime.datetime(2016, 4, 28, 0, 0)