2013-02-20 210 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',並試圖生成它的日期。但是我得到像無效日期一樣的警報。代碼中有什麼錯誤?比較兩個日期相結合的日期和時間

+0

日期字符串參數的構造函數支持的格式是新的日期(「1975年10月13日11時13分○○秒」) – 999k 2013-02-20 10:07:57

回答

0

使用時刻JS插件http://momentjs.com/

它的解析,驗證,操縱和格式化日期的最新的圖書館。

1

關於它接受的日期字符串格式,Date的構造函數是very particular

實例:

  • 1995年12月25日
  • 星期三,1995年8月9日00:00:00
  • 2011-10-10T14:48:00(的JavaScript 1.8.5+)

還有另一個構造函數接受日期的各個組件。如果你打破你的日期字符串成組件,您可以使用以下方法:

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

也就是說not a valid formatparse功能,您可以將此改用:

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

this

Live DEMO