我正在尝试格式化我收到的这些日期。我正在使用这样的输入:
$('#newEventStartDate').plusDatePicker();
$('#newEventEndDate').plusDatePicker();
用户提交表单后,我想收集日期并用ajax将它们提交给我的api。 Django要求日期为YYYY-MM-DD格式,但日期选择器使用MM / DD / YYYY格式。如何转换以下日期:
var eventData = {
startDate: $('#newEventStartDate').val(), //right now it gives MM/DD/YYYY
endDate: $('#newEventEndDate').val(),
}
我尝试了这个并且它没有工作:
var eventData = {
startDate: $('#newEventStartDate').plusDatePicker({ dateFormat: 'YYYY-MM-DD' }).val(),
endDate: $('#newEventEndDate').plusDatePicker({ dateFormat: 'YYYY-MM-DD' }).val(),
}
提交给模型的值看起来是正确的。这是我得到的实际错误:
django.core.exceptions.ValidationError:["' 02/07 / 2017'值具有无效的日期格式。它必须是YYYY-MM-DD格式。"]
答案 0 :(得分:1)
在Django中,您可以定义日期输入格式,因此可以将其转换为datetime.date。您可以通过指定
来执行此操作input_formats=['%Y-%m-%d']
如果您使用的是Django表单,请在您的DateField中。这是文档:https://docs.djangoproject.com/en/1.10/ref/forms/fields/#datefield
此外,如果您没有使用表单,则可以使用
解析日期 datetime.strptime(your_date, '%Y-%m-%d').date()
答案 1 :(得分:0)
我希望这对你有用:
var d = new Date();
var curr_date = d.getDate();
var curr_month = d.getMonth();
var curr_year = d.getFullYear();
var date=new date(curr_year + "-" + curr_month + "-" + curr_date );