【问题标题】:How to handle date in Django?如何在 Django 中处理日期?
【发布时间】:2012-04-15 05:54:17
【问题描述】:

我正在使用 jquery datepicker 在搜索表单上以“dd/mm/yyyy”格式向用户显示日期。我的目标受众是英国人。但是,当我尝试使用此日期对具有 DateField 的模型进行查询时,我得到了这个异常

Enter a valid date in YYYY-MM-DD format.

那么,我应该如何处理这种情况?

【问题讨论】:

    标签: django django-models


    【解决方案1】:

    你有两个选择。

    使用form.DateField - 这将规范化为您可以直接在查询中使用的日期时间对象。只需将 jquery 对象分配给日期字段:

    <script type="text/javascript">
     $(function() {
            $("#id_MyDateField").datepicker({ dateFormat: 'dd/mm/yy' });
    
     });
    </script>
    

    手动转换日期:

    form_date = request.GET.get('the_date',datetime.datetime.now()) # defaults to now
    db_date = datetime.datetime.strptime(form_date,'%d/%m/%y')
    

    然后在查询中使用db_date

    【讨论】:

      【解决方案2】:

      以 YYYY-MM-DD 格式输入有效日期。

      换句话说,将日期从一种格式转换为另一种格式。

      【讨论】:

        猜你喜欢
        • 2015-06-03
        • 2013-11-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-09-17
        • 1970-01-01
        • 1970-01-01
        • 2015-11-28
        相关资源
        最近更新 更多