2011-05-25 42 views
2

我很抱歉,如果這個問題沒有多大意義,但我是新的(ISH)腳本,並想知道如果你能幫我解決這個問題。正確的方式將日期轉換爲UTC

我正在構建一個給定時區的應用程序,告訴你它在哪個位置的時間。當我在時區格林尼治標準時間(UTC)的地點工作時,它工作的很好,但是如果主機上的時區是其他任何東西,那麼這會非常糟糕,因爲無論如何它都會將時間添加到主機。

所以我想我要做的是將機器時間轉換爲UTC(使用getUTCDate()等),並將其用作基準。我想知道這是否是正確的方式,或者有更好的方法去做。

任何幫助,將不勝感激。

由於提前,

UPDATE Eugeny89的回答後,我修改了代碼,並創造了這個方法爲當前日期爲UTC轉換爲我。只是想知道這是否是最好的方法。

private function convertToUTC(dtDate:Date):Date{ 
      dtDate.setTime(dtDate.getTime() + (dtDate.getTimezoneOffset() * 60000)) 
      return dtDate; 
} 

回答

3

使用getTimezoneOffset()DategetUTCHours()(在用戶的時間和UTC之間的時間差分鐘)。請參閱manual瞭解更多詳情

+0

不錯的一個。這是個訣竅。用我所做的更新了我的上一篇文章。你能否提供更好的建議? – 2011-05-25 22:14:33

+1

哼,那是個蹩腳的! 'dtDate.getTime()'返回里程數,'getTimezoneOffset()'返回分鐘數。我想你想編寫'dtDate.getTimezoneOffset()/ 60000'而不是'dtDate.getTimezoneOffset()* 60000'。但總的來說,這個方法似乎很好。 – Eugeny89 2011-05-26 08:12:34