我在django上使用了now模板標籤,並意識到它沒有辦法將月份格式設置爲零。原因JavaScript的月份爲零,可以很方便。Django模板標籤上的基於零的月份
我想要快速解決這個問題的方法是{% now 'd, m-1, Y' %}
。雖然解決了這個問題,但我並不完全滿意。
有沒有更好的方法來做到這一點?或者只是寫一個模板標籤?
我在django上使用了now模板標籤,並意識到它沒有辦法將月份格式設置爲零。原因JavaScript的月份爲零,可以很方便。Django模板標籤上的基於零的月份
我想要快速解決這個問題的方法是{% now 'd, m-1, Y' %}
。雖然解決了這個問題,但我並不完全滿意。
有沒有更好的方法來做到這一點?或者只是寫一個模板標籤?
{% now %}
模板標籤接受與date
模板過濾器相同的格式化字符串。
「m」是基於零的數字月份。所以,你會怎麼做:
{% now "d, m, Y" %}
,輸出:
28, 03, 2014
參見:https://docs.djangoproject.com/en/1.6/ref/templates/builtins/#date對格式化日期和時間的詳細信息。
月在Python是基於1:
>>> from datetime import date
>>> d = date.today()
>>> d.month
3
我碰到了同樣的問題......這裏就是我用一個簡單的自定義過濾器做到這一點:
@register.filter(name='dateWithZeroBasedMonth')
def dateWithZeroBasedMonth(value):
if value is None:
value = date.today()
year = value.year
month = value.month
day = value.day
return str(year) + "," + str(month-1) + "," + str(day)
不優雅,但它適用於我,並以JavaScript的Date()函數接受的格式返回簡單的日期。
這是三月,我們在同一個月。對吧? –
這是正確的。 – Brandon
那不是基於零的。 –