2012-07-02 54 views
1

我知道如何使用新的Date(UTCStrings)到本地時區。新日期(UTCstrings),將UTCStrings轉換爲其他時區(非本地)

但現在,問題是如何將UTCString轉換爲其他時區(不是本地)。

例如

UTCString是'1338480000000'。 我的本地時區爲UTC + 4。 我想將日期(UTCString)轉換爲UTC + 9。

我該怎麼辦?

感謝您的幫助!

更新

感謝維文的幫助。

我遵循BalaKrishnan的要點製作了一個簡單的功能。希望這會幫助其他人。

function utcToOtherTimezone(utcString, timezone){ 
    var isoDt = new Date(utcString), // do this to convert it to iso time: 
    dt = isoDt.addMinutes(isoDt.getTimezoneOffset() + (timezone * 60)); 

    return dt.toLocaleDateString() + ' ' + dt.toLocaleTimeString(); 
} 

$('#dtime').html(utcToOtherTimezone(1341282169000, +8));​ 

而且不要忘了添加datejs

在線測試例子http://jsfiddle.net/ysjia/FWbZ8/。好好享受。

回答

1

首先從UTCString創建一個Date對象,如下所示: var utcString = 1338480000000; //這會在當地時間,而不是iso時間。 var isoDt = new Date(utcString); //將它轉換爲iso時間: isoDt.addMinutes(isoDt.getTimezoneOffset() ); // addMinutes是來自Date.js的API。 現在,isoDt對象的日期值與UTC日期相同,您可以爲其添加必需的偏移+9或其他值。

請參閱本jQuery的常見問題討論這件事: http://jqfaq.com/how-to-parse-a-date-string-disregarding-time-zones/

+0

太好了!謝謝你的幫助。 – Will

相關問題