将字符串“Jun 1 2005 1:33PM”转换为日期时间

2022-09-05 00:45:14

如何将以下字符串转换为日期时间对象?

"Jun 1 2005  1:33PM"

答案 1

datetime.strptime 将用户指定格式的输入字符串解析为时区-naïve datetime 对象:

>>> from datetime import datetime
>>> datetime.strptime('Jun 1 2005  1:33PM', '%b %d %Y %I:%M%p')
datetime.datetime(2005, 6, 1, 13, 33)

要使用现有对象获取日期对象,请使用以下命令进行转换:datetime.date()

>>> datetime.strptime('Jun 1 2005', '%b %d %Y').date()
date(2005, 6, 1)

链接:

笔记:

  • strptime= “字符串解析时间”
  • strftime= “字符串格式时间”

答案 2

使用第三方日期使用库:

from dateutil import parser
parser.parse("Aug 28 1999 12:00AM")  # datetime.datetime(1999, 8, 28, 0, 0)

它可以处理大多数日期格式,并且比它通常猜测正确的格式更方便。它对于编写测试也非常有用,在这些测试中,可读性比性能更重要。strptime

安装方式:

pip install python-dateutil