Python 在Django视图中格式化Django时间字段
如何在Django视图中格式化时间字段 目前,在我的django html模板中,我可以轻松地执行以下操作:Python 在Django视图中格式化Django时间字段,python,django,Python,Django,如何在Django视图中格式化时间字段 目前,在我的django html模板中,我可以轻松地执行以下操作:{{movie.start|time | time:“g:iA”| lower} 如何在Django视图中执行上述操作?使用Pythonstrftime()函数 下面是如何实现这一点的示例。这并不理想,但这是我想到的 import datetime now = datetime.datetime.now() time = now.time() t = time.strftime("%I
{{movie.start|time | time:“g:iA”| lower}
如何在Django视图中执行上述操作?使用Python
strftime()
函数 下面是如何实现这一点的示例。这并不理想,但这是我想到的
import datetime
now = datetime.datetime.now()
time = now.time()
t = time.strftime("%I:%M %p")
t = t.lower()
t = list(t)
if t[0] == '0':
t.pop(0)
t = ''.join(t)
print t
这个答案是可以的,但似乎失去了django模板时间格式的灵活性。例如,如何以小写形式显示“AM”或“PM”?12小时格式的时间也会以前导零显示,这是不可取的。最接近上述django时间过滤器的是
movie.start\u time.strftime(“%I:%M%p”)
。在这种情况下,小时有一个前导零,“AM”和“PM”大写,这对于我的显示目的是不正确的。如果您有特殊要求,您可以随时手动处理strftime()的结果,即在结果字符串上调用lower()
,这将AM
转换为AM
。好,但是对于Django模板过滤器可以在一行中完成的事情来说,这仍然是一项工作。这意味着我仍然需要在几个小时内解析出前导零,我需要返回一个格式化字符串并将其存储在弹性搜索索引中。