オフラインモードがオフのとき(紛らわしいけど、つまりオンラインのとき)は
現在時刻をパソコンではなくサーバーから取得し、オフラインモードがオンのときは
一切インターネットを使わず、パソコンの時刻だけを利用するようにしました。
こちらが証拠写真です。オフラインモードがオフなので、
World Timepieceは時刻をサーバーから取得していて、パソコンの時刻が1秒遅くなっているので
World Timepieceに表示されている時刻のほうがパソコンの時刻よりも1秒早くなっています。
設定画面がなかったためオフラインモードの設定はバージョン情報画面に作りました。
オフラインモードをオンにすると…
パソコンの時刻から取得しているので、パソコンの時刻と同じになります。
インターネットに接続していない場合、あるいはサーバーから時刻を取得できない場合は
自動でオフラインモードに切り替わります。
後はこれに地球時計を移植すれば出来上がり…ではなく、
夏時間を正確に対応させるにはどうすればいいか考える必要がありましたね。
ここがちょっとかなり面倒で、「今日が今月の何週目の土曜日か」を取得する時点で手こずっております。
これさえなんとかなれば、あとは夏時間の期間内かどうかを判断させれば完成です。
3 Responses
名無しのドナルド
最悪、夏時間とかの差が存在する地域は窓側のデータを参考値にしてしまうコードもありだと思う
yotiosoft
コメントありがうございます、Windowsからも取得できるんですね
World Timepieceで夏時間の判定を実装してみたけど | HSP | YotioSoft
[…] 前々回の記事では、World Timepieceでサーバーから日本時間を取得するところまで対応しました。 […]