我注意到默认 Django 的日期时间作为字符串看起来像这样(来自模板):
April 4, 2012, 6 a.m.
April 14, 2012, 12:06 p.m.
April 14, 2012, midnight
April 14, 2012, noon
April 14, 2012, 6:02 a.m.
请注意日期或时间中没有尾随零。此外,Django 消除了 :00 分钟,并且还使用字符串“noon”和“midnight”而不是等效的数字时间。
如果不编写一堆if
-elif
语句,我能得到的最接近的是这个
# I'm using Django 1.4 with timezone support.
# timezone.now() is the same as `datetime.now()` but it's timezone "aware".
timezone.now().strftime('%B %d, %Y, %I:%M %p').replace( 'AM', 'a.m.' ).replace( 'PM', 'p.m.' )
但这会产生以下结果(使用上面的相同示例)
April 04, 2012, 06:00 a.m.
April 14, 2012, 12:06 p.m.
April 14, 2012, 12:00 a.m.
April 14, 2012, 12:00 p.m.
April 14, 2012, 06:02 a.m.
我需要获取字符串的原因是因为我使用的是 ajax(特别是 Dajax),所以我必须返回一个字符串,datetime
因为我无法在 JSON 中存储 Python 对象(即使我可以,JavaScript 也不知道如何来解释它)。
那么是否有某种 Django 函数可以转换datetime
为 Django 模板使用的相同字符串?