将字符串转换为datetim

2024-03-29 04:49:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一大串这样的约会时间:

Jun 1 2005  1:33PM
Aug 28 1999 12:00AM

我将把它们推回到数据库中合适的日期时间字段中,所以我需要将它们变为真正的日期时间对象。

这将通过Django的ORM,所以我不能使用SQL在insert上进行转换。


Tags: 对象django数据库sql时间ormjunaug
3条回答

使用第三方dateutil库:

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

它可以处理大多数日期格式,包括需要解析的格式。它比strptime更方便,因为它可以在大多数情况下猜测正确的格式。

它对于编写测试非常有用,因为可读性比性能更重要。

您可以使用以下工具安装它:

pip install python-dateutil

datetime.strptime是将字符串解析为日期时间的主要例程。它可以处理各种格式,格式由您提供的格式字符串决定:

from datetime import datetime

datetime_object = datetime.strptime('Jun 1 2005  1:33PM', '%b %d %Y %I:%M%p')

生成的datetime对象是时区原始对象。

链接:

注:

  • strptime=“字符串分析时间”
  • strftime=“字符串格式时间”
  • 今天大声说出来,6个月后就不用再找了。

签出time模块中的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)

相关问题 更多 >