Javascript 如何将JS日期字符串转换为django日期时间格式?

Javascript 如何将JS日期字符串转换为django日期时间格式?,javascript,python,django,twitter-bootstrap,Javascript,Python,Django,Twitter Bootstrap,我有一个引导数据采集器,在选择日期时,我发出一个ajax调用并发送用户选择的日期,我想更改数据库中对象的日期,但我从Django得到了以下错误: [u"'04/23/2018' value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ] format."] 如何将其转换为指定格式?这是我的代码: 模板: $('#project_date').on('changeDate',function() {

我有一个引导数据采集器,在选择日期时,我发出一个ajax调用并发送用户选择的日期,我想更改数据库中对象的日期,但我从Django得到了以下错误:

[u"'04/23/2018' value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ] format."]
如何将其转换为指定格式?这是我的代码:

模板:

$('#project_date').on('changeDate',function()
{
$.ajax({
    url: btn.attr("data-url"),
    type: 'get',
    dataType: 'json',
    data: {
        new_date: $('#project_date_input').val()
    },
    success: function(data){
        //do something
    }
views.py

def project_change_date(request, pk):
    data = dict()
    project = get_object_or_404(Project, pk=pk)

    project.end_date = request.GET.get('new_date')
    opp.save()

您可以使用第三方库,如


我认为您的日期选择器只发送日期,而您的数据库字段是datetime。您必须将即将到来的格式格式化为您的db格式是的,我知道了,但我不能要求用户提供此场景中的时间,因此我们可以将时间设置为
00:00:00
,但我想知道如何将'04/23/2018'转换为
YYYY-MM-DD HH:MM
可能重复的@KoshVery它不是重复的,我不是说如何在模板上以特定的格式显示日期,我已经做到了,我要问的是如何将string对象转换为Pytho/django datetime对象。问题的答案是ArpitSolanki@DeA,我的观点是,您不需要在服务器上转换日期,因为日期选择器可以以一种格式(例如
YYYY-MM-DD HH:MM
)存储日期值,并以另一种格式(例如
MM/DD/YYYY
)显示日期。所以你的问题其实是一样的,伊姆霍。但是如果你喜欢用不必要的操作污染你的代码。。。祝您有个美好的一天!我不知道这个神奇的包裹!像魔术一样工作!非常感谢你!
In [14]: from dateutil.parser import parse

In [15]: c = "04/23/2018"

In [16]: parse(c)
Out[16]: datetime.datetime(2018, 4, 23, 0, 0)

In [17]: print(parse(c))
2018-04-23 00:00:00 # this format is same as your db's datetime format
import datetime

project.end_date = datetime.datetime.strptime(request.GET.get('new_date'), '%m/%d/%Y').strftime('%Y-%m-%d')