以Pythonic方式从字符串获取不带前导零的日期时间

0 投票
2 回答
930 浏览
提问于 2025-04-18 14:19

用Python从字符串中获取日期时间,但不想要前面的零,有什么好的方法吗?

比如说,小时部分不想要前面的零(这是常见的情况)。

'Date: Jul 10, 2014 4:41:28 PM'

2 个回答

2

没有使用 dateutil 的情况下:

>>> import datetime
>>> d = datetime.datetime.strptime(s, 'Date: %b %d, %Y %I:%M:%S %p')
>>> d.hour
16
>>> d
datetime.datetime(2014, 7, 10, 16, 41, 28)
4

dateutil 是一个可以直接使用的工具,它可以处理这个问题(fuzzy 这个功能可以帮助忽略字符串中不相关的部分):

>>> from dateutil import parser
>>> s = "Date: Jul 10, 2014 4:41:28 PM"
>>> parser.parse(s, fuzzy=True)
datetime.datetime(2014, 7, 10, 16, 41, 28)

撰写回答