2010-04-23 214 views

回答

4

首先,你要解析字符串取得日期對象,我通常使用的功能,如以下,提取日期部分,並使用Date構造:

function parseDate(input) { 
    var parts = input.match(/(\d+)/g); 
    // new Date(year, month [, date [, hours[, minutes[, seconds[, ms]]]]]) 
    return new Date(parts[0], parts[1]-1, parts[2], // months are 0-based 
        parts[3], parts[4]); 
} 

var diff = parseDate("2010-05-30 00:41") - parseDate("2010-04-23 15:03"); 
// 3145080000 milliseconds 
0

檢查出CodePlex的JS日期時間庫。它可以讓你像.NET一樣處理DateTimes(當然也有一些限制)。

4
var d1 = new Date(2010,3,23,15,3); 
var d2 = new Date(2010,4,30,0,41); 

var delta = Math.abs(d1 - d2); 

答案將以毫秒爲單位。

+2

這應該是'新的日期( 2010,3,23,15,3)'。該月份需要爲' - 1'(1月= 0,2月= 1等),除非使用八進制數字,否則應避免前導零。 Dito爲第二個「日期」。 – RoToRa 2010-04-23 15:20:36

+0

@RoToRa:是的,謝謝。我只是將他的日期中的連字符,空格和冒號重新排序,而沒有自己查看這些值。編輯來反映這一點。 – Robusto 2010-04-23 15:39:50

+1

不需要'valueOf'。 – 2010-04-23 15:56:18