我有一个非常基本的django模型:
class Day(models.Model):
date = models.DateField()
class Topic(models.Model):
day = models.ForeignKey(Day)
time = models.TimeField(choices=CHOICE_TIME)
topic = models.CharField(max_length=255)
因此,如果我访问对象的日期和时间,我会得到这些结果:
>>> topic = Topic.objects.all()[5]
>>> print topic.day
2017-03-13
>>>
>>>
>>> print topic.time
14:00:00
我需要使用9 April 2017
格式的日期和12小时内的时间格式2 PM
在视图中。我怎么解决这个问题?我找到的所有答案都是针对django模板的,但我在视图中需要它。
答案 0 :(得分:2)
如果你有datetime
个对象(否则使用strptime从字符串创建)
In [22]: d_obj = datetime.now()
In [23]: d_obj.strftime("%d %B %Y")
Out[23]: '09 April 2017'
In [24]: d_obj.time().strftime('%I:%M %p')
Out[24]: '03:28 PM'
在django中,DateTimeField
返回datetime
个对象(此处与d_obj
相同),TimeField
返回datetime.time
个对象(与d_obj.time()
相同)