1

毎秒システムの日付/時刻をチェックし、アプリケーションに表示される日付を更新するタイマーを実行しています。

システム時刻を変更すると、アプリは次の秒を更新します。システムのタイムゾーンを変更すると、アプリは現在の分が変更されたときにのみこの変更を登録します。

問題が発生していることを示す小さなサンプル アプリがあります (自分で確認したい場合)。

私が呼び出す場所ではlocalDate:Date = new Date()localDate.timezoneOffset現在の分が変更されるまで、現在のシステム timzone が反映されません。しかし、システム秒を変更すると、次のタイマーティックで更新されます

<?xml version="1.0" encoding="utf-8"?>

        protected function windowedapplication1_creationCompleteHandler(event:FlexEvent):void
        {
            myTimer = new Timer(1000, 0);
            myTimer.addEventListener(TimerEvent.TIMER, timerHandler, false, 0, true);
            myTimer.start();
        }

        private function timerHandler( event:TimerEvent):void{
            var localTime:Date = new Date();
            offsetLabel.text = localTime.timezoneOffset.toString();
            secondsLabel.text = localTime.seconds.toString();
        }

    ]]>
</mx:Script>
<mx:Label id="offsetLabel" x="33" y="24" width="223" height="58" fontSize="15"/>
<mx:Label id="secondsLabel" x="33" y="90" width="223" height="58" fontSize="15"/>

4

0 に答える 0