時間戳保存爲UTC。 1274203800000
對應於2010-05-18 17:30:00 UTC
,這確實是2010-05-19 03:30:00 UTC+10
。我不知道如何從該時間戳獲得2010-05-18 03:30:00
- 它必須是UTC-14,並且沒有哪個國家將其作爲時區。
(旁白:在你的代碼,因爲它代表,第一次使用的new Date().getTime()
什麼都不做,因爲它會返回相同的milliseconds
)
ETA:你不超過toLocaleString()
格式得到任何控制,格式來自用戶的操作系統和瀏覽器設置。在我的機器上,我獲得了12小時制時鐘和一個包含時區名稱。這是令人討厭的,因爲我認爲12-hour time is a total disaster that should be wiped from the face of the planet和時區實際上是錯誤的。
但無論如何,如果你想要一個特定的時間格式,你必須自己創建它,因爲JS沒有提供格式選項。這可以說是相當繁瑣:
var daynames= ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
var monthnames= ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
function padLeft(s, l, c) {
return new Array(l-s.length+1).join(c || ' ')+s;
};
function to12HourTime(x) {
var dn= daynames[x.getUTCDay()];
var mn= monthnames[x.getUTCMonth()];
var d= padLeft(''+x.getUTCDate(), 2, '0');
var y= padLeft(''+x.getUTCFullYear() ,4, '0');
var h= x.getUTCHours();
var m= padLeft(''+x.getUTCMinutes(), 2, '0');
var s= padLeft(''+x.getUTCSeconds(), 2, '0');
var p= h>=12? 'PM' : 'AM';
h= (h+11)%12+1;
return dn+', '+mn+' '+d+', '+y+' '+h+':'+m+':'+s+' '+p;
}
var t= 1274203800000;
var d= new Date(t+1000*60*60*10);
alert(to12HourTime(d));
// Wednesday, May 19, 2010 3:30:00 AM
好吧,我不知道生根粉UTC所以最終如果我想1274203800000轉換成GMT +10那麼有沒有任何選項在JavaScript可用? – hunt 2010-05-18 14:36:10
你已經有了。 '1274203800000' **是**'2010-05-19 03:30:00 UTC + 10'。如果您使用數字「1274203800000」代表某個其他時間,那麼您得到的不是標準的JavaScript時間戳,而必須確定它到底是什麼。 – bobince 2010-05-18 14:48:59
你是對的它已經+10現在我怎麼會將它轉換成12小時格式? – hunt 2010-05-18 15:35:26