World Timepieceで夏時間の判定を実装してみたけど

with コメントはまだありません

前々回の記事では、World Timepieceでサーバーから日本時間を取得するところまで対応しました。

今回は、なんとか夏時間の判定を実装してみました。

夏時間が制定されている月のうち、夏時間が始まる月で夏時間が始まる週・曜日よりあとで、

かつ夏時間が始まる時刻よりも後で…みたいに、あらゆる時間帯に起動することを想定して

例によって汚いソースコードをつらつらと書いてみたわけですが、

なんとか夏時間の期間中か判定するまではうまくいっている模様。

ただし、まだ今日の日付でしか確認していないので

夏時間が始まる(或いは終わる)瞬間がどうなるかはまだ試していません。

 

そして、ここで別の問題が。

サーバーから日本時間を取得するのに時間がかかってしまう!

回線速度が原因なのか、ソフト側が原因なのか分かりませんが、

どちらにせよ、時刻の取得に時間がかかったら時計アプリとして致命的ですよね。

 

毎分0秒になったら自動で時刻合わせを行うのですが、

↑こんな感じで、0秒のまま数秒固まってしまい

やっと1秒になったと思ったら実際の秒数はもう7秒。6秒も遅れてしまっています。

 

これはタイムアウト機能をつけて、自動でオフラインモードに切り替えるようにしたほうが良さそうです。

もともとウィンドウタイマーが備わっているのでタイムアウトの実装は簡単だと思います。

 

(追記)

・・・と思ったら、なんとオフラインモードでも数秒固まってしまう。

どうやら時刻の取得に時間がかかっているわけではないようです。

 

コンテスト応募締め切りまであと2週間をきりました。急がねば。

Leave a Reply