将字符串转换为日期时间
简短而简单。 我有一个像这样的日期时间的巨大列表作为字符串:
Jun 1 2005 1:33PM
Aug 28 1999 12:00AM
我将把它们推回到数据库中适当的日期时间字段,所以我需要将它们变成真正的日期时间对象。
任何帮助(即使这只是一个正确的方向踢),将不胜感激。
编辑:这是通过Django的ORM,所以我不能使用SQL做插入转换。
datetime.strptime
是将字符串解析到日期时间的主要例程。 它可以处理各种格式,其格式由您给出的格式字符串决定:
from datetime import datetime
datetime_object = datetime.strptime('Jun 1 2005 1:33PM', '%b %d %Y %I:%M%p')
生成的datetime
对象是无时区的。
链接:
strptime
Python文档:Python 2,Python 3
strptime
/ strftime
格式字符串的Python文档:Python 2,Python 3
strftime.org也是strftime的一个很好的参考
笔记:
strptime
=“字符串解析时间” strftime
=“字符串格式时间” 使用第三方dateutil库:
from dateutil import parser
dt = parser.parse("Aug 28 1999 12:00AM")
它可以处理大多数日期格式,包括您需要解析的格式。 它比strptime更方便,因为它大部分时间都可以猜出正确的格式。
它对编写测试非常有用,其中可读性比性能更重要。
您可以通过以下方式安装它
pip install python-dateutil
检查时间模块中的strptime。 这是strftime的逆过程。
$ python
>>> import time
>>> time.strptime('Jun 1 2005 1:33PM', '%b %d %Y %I:%M%p')
time.struct_time(tm_year=2005, tm_mon=6, tm_mday=1,
tm_hour=13, tm_min=33, tm_sec=0,
tm_wday=2, tm_yday=152, tm_isdst=-1)
链接地址: http://www.djcxy.com/p/4265.html