我正在使用 jquery datepicker 在搜索表单上以“dd/mm/yyyy”格式向用户显示日期。我的目标受众是英国人。但是,当我尝试使用此日期对具有 DateField 的模型进行查询时,我得到了这个异常
Enter a valid date in YYYY-MM-DD format.
那么,我应该如何处理这种情况呢?
我正在使用 jquery datepicker 在搜索表单上以“dd/mm/yyyy”格式向用户显示日期。我的目标受众是英国人。但是,当我尝试使用此日期对具有 DateField 的模型进行查询时,我得到了这个异常
Enter a valid date in YYYY-MM-DD format.
那么,我应该如何处理这种情况呢?
你有两个选择。
使用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
在您的查询中使用
以 YYYY-MM-DD 格式输入有效日期。
换句话说,将日期从一种格式转换为另一种格式。