2012-09-12 98 views
0

好吧,我有這個確切日期:JavaScript格式UTC日期

2012-10-01T13:00:00+0000 

我需要把它分成兩個變量:一個是日期:2012-10-01,另一種是在時間小時和分鐘:13:00

我迄今產生2012-09-12 & 14:00 - 完全錯誤的日期...

下面的代碼:

var d, dd, hh, mi, mm, theDate, theTime, yyyy; 

var myDate = "2012-10-01T13:00:00+0000"; //Date I need converting into two variables 

d = new Date(myDate); 

yyyy = d.getFullYear().toString(); 
mm = d.getMonth().toString(); 
dd = d.getDate().toString(); 
hh = d.getHours().toString(); 
mi = d.getMinutes().toString(); 


theDate = yyyy + "-" + (mm[1] ? mm : "0" + mm[0]) + "-" + (dd[1] ? dd : "0" + dd[0]); 
theTime = (hh[1] ? hh : "0" + hh[0]) + ":" + (mi[1] ? mi : "0" + mi[0]); 

//theDate produces: 2012-09-12, (should be 2012-10-01) 
//theTime produces: 14:00, (should be 13:00) 
+0

使用getUTCFullYear,getUTCMonth,getUTCDate,getUTCHours和getUTCMinutes。並且記住那個月總是0-11。 – some

回答

0

將1加到當月。

時間將根據您當地的時區進行調整。因爲你在格林威治標準時間+1,所以你得到14:00。將時間更改爲13:00:00 + 0100以獲得正確的時間。

+1

或使用getUTCFullYear等... – some

1

我的猜測是: 月開始於0,因此+1 天取小時,使您的格式是錯誤的。 Yous應打印d以查看您實際構建的內容。除此之外,請嘗試: formatting the date