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

新手上路,请多包涵

如何将以下字符串转换为 datetime 对象?

 "Jun 1 2005  1:33PM"

原文由 Oli 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 547
2 个回答

datetime.strptime 将用户指定格式的输入字符串解析为纯 时区 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 对象,请使用 .date() 对其进行转换:

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


链接:

笔记:

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

原文由 Patrick Harrington 发布,翻译遵循 CC BY-SA 4.0 许可协议

使用第三方 dateutil 库:

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

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

安装它:

 pip install python-dateutil

原文由 Simon Willison 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题