Django日期输入解析?

Dan*_*sen 6 python django datetime

我正在尝试从用户那里获取事件的日期.输入只是一个简单的html文本输入.我的主要问题是我不知道如何解析日期.

如果我尝试传递原始字符串,我会得到一个TypeError,如预期的那样.

Django有任何日期解析模块吗?

小智 7

如果您正在使用django.forms,请查看DateField.input_formats.此参数允许定义多种日期格式.DateField尝试按顺序根据这些格式解析原始数据.

  • 换句话说,OP*应该*使用Django表单,如果正确设置input_formats,它将处理这个问题. (3认同)

Zac*_*ack 6

可以说,Django不是由Python做的. 看来我在这里错了,正如uptimebox的答案所示.

假设您正在解析此字符串:'Wed Apr 21 19:29:07 +0000 2010'(这是来自Twitter的JSON API)

你将它解析为这样的日期时间对象:

import datetime

JSON_time = 'Wed Apr 21 19:29:07 +0000 2010'
my_time = datetime.datetime.strptime(JSON_time, '%a %b %d %H:%M:%S +0000 %Y')

print type(my_time)
Run Code Online (Sandbox Code Playgroud)

你会得到这个,确认它是一个日期时间对象:

<type 'datetime.datetime'>
Run Code Online (Sandbox Code Playgroud)

关于更多信息,strptime()可以发现在这里.