【发布时间】:2014-03-09 15:36:20
【问题描述】:
我正在尝试以 ISO 日期格式解析日期,但由于我不明白的原因,我使用的模式不起作用。
从外壳:
>>> s
datetime.date(2014, 1, 3)
>>> str(s)
'2014-01-03'
>>> datetine.strptime(str(s),"%y-%m-%d").date()
Traceback (most recent call last):
File "<interactive input>", line 1, in <module>
File "C:\Python27\lib\_strptime.py", line 325, in _strptime
(date_string, format))
ValueError: time data '2014-01-30' does not match format '%y-%m-$d'
但是2014-01-03 应该与%y-%m-%d 匹配,对吧?为什么会出现此错误?
【问题讨论】:
-
大写
Y表示 4 位年份 - 例如:%Y-%m-%d。你到底想达到什么目的?仅将日期的 str rep 转换为日期时间,然后将日期取回,这很奇怪... -
@JonClements 它应该是答案。小是什么意思?
-
@GrijeshChauhan 小写
y是 2 位数年份...有关信息,请参阅 this site... 或 official docs -
@JonClements 谢谢,它几乎和我一直 used in C 一样
-
@GrijeshChauhan 它基于 C 库:)
标签: python date python-2.7 date-parsing