当年份是两位数时,python从字符串中断转换日期

标签 python linux

我正在尝试将日期字符串转换为日期格式

>>> str = "04-18-2002 03:50PM"

>>> time.strptime(str, '%m-%d-%Y %H:%M%p')
time.struct_time(tm_year=2002, tm_mon=4, tm_mday=18, tm_hour=3, tm_min=50, tm_sec=0, tm_wday=3, tm_yday=108, tm_isdst=-1)

然而,当年份是两位数时,它会中断

>>> str = "04-18-02 03:50PM"
>>> time.strptime(str, '%m-%d-%Y %H:%M%p')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.7/_strptime.py", line 454, in _strptime_time
    return _strptime(data_string, format)[0]
  File "/usr/lib/python2.7/_strptime.py", line 325, in _strptime
    (data_string, format))
ValueError: time data '04-18-02 03:50' does not match format '%m-%d-%Y %H:%M'

有什么想法吗??

最佳答案

格式字符串中的

%Y 表示四位数年份,参见 documentation .对于两位数的年份,请改用 %y。要支持这两种格式,请首先尝试:其中一种格式,捕获ValueError 并尝试另一种格式。

关于当年份是两位数时,python从字符串中断转换日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8988905/

相关文章:

python - 更改括号之间的变量

regex - 为什么这个正则表达式不适用于 grep?

c - strtok 没有遍历所有标记

python - 使用 Python networkx 从无向多图中删除循环

linux - 我需要在 Java 目录中安装 Glassfish 吗?

php - 如何在CentOs中安装php-xml

linux - vhost 设置中的一行

python - 如何在 Apache 上运行 GUI Python 脚本?

python - 使用特定键的顺序对字典列表进行排序

python - 为 csv 中的列创建不同的元组值并计算第三列的平均值