2013-02-20 2 views
0
var dateStart = $('input[id=orderdate-0]').val(); 
    var timeStart = $('input[id=ordertime-0]').val(); 
    var dateEnd = $('input[id=orderdate-1]').val(); 
    var timeEnd = $('input[id=orderime-1]').val(); 

    var startDate = new Date(dateStart + " " + timeStart); 
    var endDate = new Date(dateEnd + " " + timeEnd); 
    startDate.getTime(); 
    alert(startDate); 

я пытаюсь объединить dateStart, который «2013-12-11» и timeStart, который '11: 00' и пытается сгенерировать дату выхода из него. Но я получаю предупреждение как недействительная дата. Что-то не так в коде.сравнить 2 даты, комбинируя дату и время

+0

для даты строкового аргумента для конструктора поддерживается формат является новая дата («13 октября 1975 11:13:00») – 999k

ответ

0

Используйте момент JS плагин http://momentjs.com/

Это дата библиотека для разбора, проверки, обработки и даты форматирования.

1

Конструктор Datevery particular о форматах даты, которые он принимает.

Примеры:

  • 25 декабря, 1995
  • Ср, 9 августа 1995 00:00:00
  • 2011-10-10T14: 48: 00 (JavaScript 1.8.5+)

Существует еще один конструктор, который принимает отдельные компоненты даты. Если разбить ваши строки даты в компоненты вы можете использовать следующее:

new Date(year, month, day, hour, minute); 
-1

Это not a valid format для функции parse, вы можете использовать вместо этого:

var arr = dateStart.split('-'); 
var timeArr = timeStart.split(':'); 
new Date(arr[0], arr[1] -1, arr[2], timeArr[0] -1, timeArr[1] -1); 

Read this.

Live DEMO

Смежные вопросы