2012-09-13 23 views
0

使用JavaScript,我怎麼轉換日期字符串像這樣:的Javascript Datestring轉換器,具有時區

Sep 13, 1:13PM GMT+01:00 
Sep 12, 4:00PM EDT 

要麼因爲時代Unix時間戳或JavaScript毫秒?

我覺得格式是:

MMM DD, h:mmtt ?K 
+1

因爲這不是一個有效的日期字符串,你將不得不使用正則表達式解析它,並自己建立日期 –

+0

正則表達式應該能夠改變字符串做這樣的事情新的日期('13 Sep,2012 01:13' ).getTime()但不包含時區信息? – chillbo

+0

@JamesKleeh是對的,這裏是一個讓你開始的例子http://stackoverflow.com/questions/2407052/date-to-timestamp-in-javascript – Adi

回答

0

我走了這麼遠,接近答案。

  • 它做一個正則表達式在字符串,並以一組
  • 我認爲這是本年度
  • 它失敗時的24小時表示校正捕捉每一個元素採取以考慮時區
  • 使用parse方法
function getTimestamp(str){ 
var re = /(\w{3}) (\d{2}), (\d):(\d{2})(\w{2}) (.*)/; 
    var match = re.exec(str); 
    if (match !== null) { 
     var HH = match[5]==='PM' ? +match[3]+12 : match[3]; 
     return Date.parse(match[1]+' '+match[2]+', '+new Date().getFullYear()+' '+ HH +':'+match[4]); 
    } 
} 

getTimestamp('Sep 12, 4:00PM EDT'); //=> 1347462000000