2015-07-02 3 views
1

В настоящее время я играю с некоторым jQuery и на самом деле не похоже, что он работает, как хотелось бы.jQuery DateTimePicker Дата конвертации

У меня есть следующий код, и я бы хотел, чтобы он конвертировал его в новый формат даты. Это в настоящее время в дд/мм/гггг, и хотел бы, чтобы это было гггг-мм-дд, так что я могу использовать его в моей базе данных MySQL

$("#calendarAddEvent").on("click", function() { 
    var name = $("#name").val(); 
    var from = $("#date").val(); 
    var f = $.datepicker.parseDate("d/m/Y", from); 
    var start = $("#time_start").val(); 
    var end = $("#time_end").val(); 
    var className = $("#color .selected").attr("data-tag"); 
    $.post("api/calendar_add.php", { 
     title: title, 
     start: f + start, 
     end: f + end, 
     className: className 
    }).done(function() { 
     $("#close").click(); 
    }); 
}); 
+0

Вы пробовали moment.js библиотеку? Он работает очень хорошо в любое время, когда вы хотите сделать некоторые манипуляции с датами. – Osuwariboy

+0

Новое в javascript, поэтому на самом деле не знаю, как это сделать с помощью момента. Js – Nature

ответ

0

попробовать это:

$("#calendarAddEvent").on("click", function() { 
    var name = $("#name").val(); 

    var from = $("#date").val(); 
    var datestr=(from.split(" ")[0]).split("/"); 
    f = new Date(datestr[2],datestr[0]-1,datestr[1]); 
    var start = $("#time_start").val(); 
    var end = $("#time_end").val(); 
    var className = $("#color .selected").attr("data-tag"); 
    $.post("api/calendar_add.php", { 
     title: title, 
     start: f + start, 
     end: f + end, 
     className: className 
    }).done(function() { 
     $("#close").click(); 
    }); 
}); 
+0

Uncaught TypeError: Не удается прочитать свойство «parseDate» неопределенного – Nature

+0

Uncaught TypeError: Незаконный вызов – Nature

0

Попробуйте это ..

http://jsfiddle.net/cLLk3a07/1/

$("#datepicker").datepicker(); 
$(".calendarAddEvent").click(function(){ 
var from= $("#datepicker").val(); 
    console.log(from) 
    var date = $.datepicker.parseDate("mm/dd/yy", from); 
    var month = date.getMonth().toString().length == 1 ? "0"+date.getMonth() : date.getMonth(); 
    var day = date.getDate().toString().length == 1 ? "0"+date.getDate() : date.getDate(); 
    console.log(date.getFullYear()+"-"+month+"-"+day) 
}); 
0

Реальная проблема здесь состоит в том, что второй параметр является строкой, а не даты. Сначала вам нужно преобразовать строку.

Если #date является DatePicker вы можете использовать это:

var from = $("#date").datepicker('getDate').getTime(); 
var f = $.datepicker.parseDate("d/m/Y", new Date(from)); 
Смежные вопросы