python django使用datetime.strptime保存字符串并显示?

时间:2014-11-14 06:32:23

标签: python django

我有一个字符串time= "10:00AM"

我使用strptime将其转换为日期时间格式

time = datetime.strptime(time, '%I:%M%p')

这是我的models.py

time = models.DateTimeField(null=True,blank=True)  

它在数据库中显示:

1900-01-01 11:00:00+00:00

这是正常的吗?

如果我想在网站上显示,我怎么能显示11:00? 请教我,谢谢

我试着这不行

import time 
test = '1900-01-01 11:00:00+00:00'
print (time.strftime(test,"%H:%M:%S"))

2 个答案:

答案 0 :(得分:0)

是的,这是正常的,DateTimeField存储日期和时间。在您的情况下,1900-01-01是您不提供的默认日期。如果您需要存储的只是一天中的时间(没有特定日期),只需使用TimeField

至于显示: 这两个都会输出11:00 AM

:在你的模板中

{{ time_value:time "h:i A" }}

:在python中打印

print my_model.time.strftime('%I:%M %p')

答案 1 :(得分:0)

您可以使用datetime.combine(date,time)

>>> from datetime import datetime
>>> time = "10:00AM"
>>> time = datetime.strptime(time, '%I:%M%p')
>>> datetime.combine(datetime.today(), time.time())
datetime.datetime(2014, 11, 13, 10, 0)
  • 也许如果你今天看看这个网站,11am意味着什么并不存在混淆。
  • 也许明天,或者其他时间,你可能会关心11am提到另一天。