1
我在週一晚上聽到我的消息!任何人都可以請幫我理解下面的問題? 我的瀏覽器上有以下字符串01-09-2014
(這是當地時間),我想將其轉換爲UTC,以便我可以將其保存回服務器。 下面是我在做什麼:在momentjs中創建UTC時間正在返回奇怪的結果
var localDate = moment("01-09-2014", "DD-MM-YYYY");
var utcDate = localDate.utc();
console.log("Local Date " + localDate.toDate() + " UTC Date " + utcDate.toDate());
奇怪的是,最後一行輸出:
Local Date Mon Sep 01 2014 00:00:00 GMT+0200 (Romance Daylight Time) UTC Date Mon Sep 01 2014 00:00:00 GMT+0200 (Romance Daylight Time)
問題
- 爲什麼UTC日期看起來完全一樣的當地時間(我預計當地時間比UTC提前2小時,因爲我在GMT + 2區)?
- 爲什麼UTC日期有GMT + 0200?我希望UTC日期有GMT + 000
你能幫我解決這兩個問題嗎?
感謝您的回答,格式輸出一個字符串,我想要的是一個JavaScript日期對象。更糟的是,格式返回的日期字符串是一天後8-) – GETah 2014-09-29 20:06:30
是的 - 但你會得到所需的價值與它...看到我更新的答案:) – conceptdeluxe 2014-09-29 20:07:40
@GETah - 一個JS的日期對象是*永遠*將使用本地計算機的時區。只要你調用'toDate()',你就可以取消當前'utc'函數的效果。無論如何,您無法將「Date」對象傳遞給服務器。最終,你必須將它格式化爲一個字符串,所以你應該使用片刻的'format'或'toISOString'函數。 – 2014-09-29 20:07:55