【问题标题】:Django Change Date Format from YYYY-MM-DD HH:MM to MM/DD/YYYY [duplicate]Django 将日期格式从 YYYY-MM-DD HH:MM 更改为 MM/DD/YYYY [重复]
【发布时间】:2017-12-11 03:20:30
【问题描述】:

我正在尝试将模板中的输入传递给我的视图中的查询,但如果日期未以 Django 的默认日期格式 YYYY-MM-DD 传递,则会引发错误。

[u"'11/11/2012' 值的格式无效。它必须是 YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ] 格式。"]

template.html

<form method="GET" action="/BusComm/interactions">
    <div style="width: 100px; float:left">
        <p>To Date:</p>
    </div> 
    <div style="width: 200px; float:left">
        <input type="date" Placeholder="mm-dd-yyyy" name="date_to" id="id_q" value="{{ query }}" float="right">
    </div>
    <input type="submit" value="Submit" />
</form>

View.py

 def interactions(request):
    today = datetime.now().date()
    table = interactionsTable(Interactions.objects.all())

    if request.GET.get('date_from'):
            date_from = request.GET.get('date_from')

            table = interactionsTable(Interactions.objects.filter(date__range=[date_from, today]))
            return render(request, 'BusComm/interactions.html',{
            'table': table,
        })

interactionsTable(Interactions.object.filter()) 行是引发错误的行。

我的问题是如何更改 Django 中的日期格式以接受 MM/DD/YYYY 而不是 YYYY-DD-MM?

【问题讨论】:

    标签: python django date date-format


    【解决方案1】:
    >>> from datetime import datetime
    >>> d = datetime.strptime('11/11/2012', '%m/%d/%Y')
    >>> d.strftime('%Y/%m/%d')
    '2012/11/11'
    

    views.py 中将日期时间格式转换为YYYY-DD-MM 比在过滤器中强制Django 接受MM/DD/YYYY 更容易。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多