Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在Django视图中格式化Django时间字段_Python_Django - Fatal编程技术网

Python 在Django视图中格式化Django时间字段

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

如何在Django视图中格式化时间字段

目前,在我的django html模板中,我可以轻松地执行以下操作:
{{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模板过滤器可以在一行中完成的事情来说,这仍然是一项工作。这意味着我仍然需要在几个小时内解析出前导零,我需要返回一个格式化字符串并将其存储在弹性搜索索引中。