一見たいした課題と思っていなかった時間の表現ですが、深入りしてはまってしまいました。Javaでストップウォッチ機能を持つ時計プログラムを作ってみようとしたところ、2つの時刻の差(時間)の表現で深みにはまってしまったのです。 時計に必要な機能 まず、時計の基本機能として絶対時刻(協定世界時:UTC)に極力近い時刻を取得・表示します。 取得:まあ、コンピュータのシステムクロックを取ればよいでしょう。コンピュータがNTPでUTCに近い時刻サーバ(インターネット上のNTPサーバやGPS時計など)と同期していれば実用上まず問題はないでしょう。 表示:UTC時刻に対して、その地域に合わせてオフセットした標準時を表示します。JavaならTimeZoneを扱うことができるので、これは問題なく実装できます。文字列化については、java.text.DateFormatterやjava.text.SimpleD