2016-01-11 58 views
1

無論用戶的本地計算機時間如何,我都需要在紐約的Flash AS3中創建一個倒計時時鐘。一旦我有Date對象正確,我可以自己做時鐘,但我似乎無法弄清楚如何在紐約創建一個Date對象。我必須記住夏令時。Flash AS3在另一個時區獲取時間

任何幫助表示讚賞。謝謝。

+0

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/Date.html – Brian

+0

起初,我認爲日期文檔會平凡地回答這個問題,但事實證明這是一個非常複雜的問題任務。對於任意語言環境,沒有Date構造函數,這意味着您需要獲取當前語言環境的日期,從中獲取UTC日期,然後手動計算與紐約之間的差異......一種難以接受的舞蹈你在做什麼! – Brian

+0

@布萊恩。 :) 不容易。那也是我的想法。但仍然無法執行。 – split19

回答

3

再次谷歌搜索後,我終於找到了解決方案here

var now:Date = new Date(); 
trace("now local time: " + now); 

var newYorkOffset:int = 1000 * 60 * 60 * 5; // 5 hours offset for NYC 
var localTimezoneOffset:Number = now.getTimezoneOffset() * 60 * 1000; 

// add now + localTimeZoneOffset to get UTC, then subtract NY offset to get NY time  
now.setTime(now.getTime() + localTimezoneOffset - newYorkOffset);   
trace("now in New York: " + now); 

,我敢肯定,這需要夏令考慮,因爲getTimezoneOffset()包括自動根據日期夏令時。

要測試,暫時將機器的時區更改爲紐約以外的地區。 「現在在紐約:」時間不會改變。

相關問題