默认情况下,运行的Python用C语言环境:
>>> from datetime import datetime
>>> datetime.strptime("Tue Feb 11, 2014 5:38 PM", "%a %b %d, %Y %I:%M %p")
datetime.datetime(2014, 2, 11, 17, 38)
>>> import locale
>>> locale.nl_langinfo(locale.T_FMT_AMPM)
'%I:%M:%S %p'
更改地区部分地帮助我的系统上:
>>> locale.setlocale(locale.LC_TIME, 'es_ES.UTF-8')
'es_ES.UTF-8'
>>> datetime.strptime("Lun Ene 27, 2014 9:52 am"[:-2], "%a %b %d, %Y %I:%M %p")
datetime.datetime(2014, 1, 27, 9, 52)
>>> locale.nl_langinfo(locale.T_FMT_AMPM)
''
T_FMT_AMPM
未设置为我的es_ES.UTF-8
系统上的一些原因。要修复它,如果时间字符串以'pm'
结尾,您可以手动添加12小时。
strftime()
和time
的行为是一样的。
注意:其他系统上的语言环境名称可能不同。
来源
2014-04-21 16:12:41
jfs
看['datetime'](https://docs.python.org/ 2.7/library/datetime.html)来处理Python中的日期/时间数据。 – Ffisegydd
什么日期格式是第一个字符串?第二个似乎有两个月,第一个似乎包含非英语单词。 – fr1tz
特别看看['strptime'和'strftime'](https://docs.python.org/2.7/library/datetime.html#strftime-and-strptime-behavior) – Ffisegydd