習作として、Adobe Flex AIRを使った、世界時計アプリを作ってみた。大した機能はない。ただ、4カ所の時間を表示するだけ。世界時計といいながら、世界中のタイムゾーンを網羅しているわけでもない。まあ、後付で追加できるので、網羅しようと思えばできるのだけれど。
変わり種の機能としては、時間の表示部分をダブルクリックすると、時刻の入力モードになって、そのタイムゾーンで、指定された時間が、他のタイムゾーンでは一体何時になるのか、というのを表示してくれる。
ムンバイの9:15から、動き出すプログラムを......なんてコトになったときに、タイムゾーンを Mumbaiにして、そこの時間表示をダブルクリック、9:15を与えて、ENTERを押せば、デフォルトでは10秒間、その指定された時間に対応する、各タイムゾーンでの時間が表示されるので、ふむふむ、東京では、12:45になるから、crontab には 45 12 * * 1-5 ... なんて言う風に書いてやればいいのか、なんていう使い方もできる。
但し、Flexの持っている時計機能は大層貧弱で、基本的に、UTCと、プログラムを実行しているPCのローカルタイムの二種類しか扱えない。このため、他のタイムゾーンに関する情報というのは、自前で処理している。特に夏時間回りは、自分が使う範囲では精確であることを念頭に置いて作ってはいるが、コトに境界線付近で、本当に正しく動くモノか、検証し切れていない。更には、この夏時間の切り替えについても、国によってはしょっちゅう、時期をずらしたりするので、果たして、将来にわたって精確であることなど保証もできない。
このあたりの情報は、外部から、XML形式で与えることができるように作ってはある。サンプルがここにあるので、まあ、必要な人は、必要なタイムゾーンを追加したり、DSTの切り替え日が変わったらそれに対応するように一部を手直ししたりして使ってもらえればいいんじゃないかと思う。
コメント