2011-04-15 106 views

回答

3

請注意,UTC字符串可按字典順序與字符串進行比較,因爲高位值出現在字符串的最左側。

var s1 = '2011-03-29 17:06:21 UTC' 
    , s2 = '2001-09-09 01:46:40 UTC'; 
s1 > s2; // => true 
s2 > s1; // => false 

您可以從例如一個字符串中提取日期字段,通過使用Date.UTC方法返回的毫秒數:

var getEpochMillis = function(dateStr) { 
    var r = /^\s*(\d{4})-(\d\d)-(\d\d)\s+(\d\d):(\d\d):(\d\d)\s+UTC\s*$/ 
    , m = (""+dateStr).match(r); 
    return (m) ? Date.UTC(m[1], m[2]-1, m[3], m[4], m[5], m[6]) : undefined; 
}; 
getEpochMillis('2011-03-29 17:06:21 UTC'); // => 1301418381000 
getEpochMillis('2001-09-09 01:46:40 UTC'); // => 1000000000000 
+1

爲什麼downvote? – maerics 2011-04-15 18:34:04

1

使用datejs將幫助您將UTC字符串轉換爲Date對象。之後,它只需要在日期對象上調用.getTime()以獲得毫秒。

+0

您會如何準確地做到這一點?我已經包括date.js庫並嘗試新的日期(「2011-03-29 17:06:21 UTC」)和Date.parse(「2011-03-29 17:06:21 UTC」),但他們返回無效或NaN的。 – katsuya 2011-04-15 17:19:55

0

你可以使用getDateFromFormat(dateValue, dateFormat)(available here)像這樣:

getDateFromFormat("2011-03-29 17:06:21","yyyy-MM-dd HH:mm:ss") 

它返回以毫秒爲單位的出現時間。

1

這是如何做到這一點。沒有不是。 Date.UTC接受UTC時間戳並返回時期

var epoch_date = Date.UTC(year,mon,day,hours,min,sec,milisec); 
相關問題