地球が回っていて時間がよく分からないんだけど?

時間を分に直すために知っておくべきことをまとめる。

1 分が1 日に占める割合はどれくらい?

1 日は 24 時間。分で換算すると、24 * 60 = 1440 となる。

% bc -l
1/1440
.00069444444444444444

1 分は 1 日で数えると、6.9e-04 日である。

時差って何?

観測地は東京とニューヨークの 2 個所。 時刻は、国際的時刻基準 (UTC) で数えて、 日本は 9 時間進んでおり、(UTC+0900)

日本時間+0900

と表す。Time 関数を使って、irb で見てみよう。

% irb
irb(main):001:0> Time.now
=> Wed Nov 12 14:29:52 +0900 2008

一方ニューヨークでは、 東部標準時 (Eastern Standard Time) のとき (冬場) は 5 時間遅れているが (UTC-0500) 夏時間が採用されているので、夏は東部夏時間 (Eastern Daylight Time) で、4 時間の遅れ (UTC-0400) となる。

アメリカの夏時間の期間は 3 月の第 2 日曜日午前 2 時から 11 月の第 1 日曜日午前 2 時までの期間である。 夏時間かどうかを調べるには、isdst を使う。

% irb                          
irb(main):001:0> Time.mktime(2008,11,10,0,0,"EST").isdst
=> false

cal コマンドを使って、当該の年の夏時間を確認せよ。

今、今年の元旦から数えて、何分目なの?

Time 関数を使ってみよう。Time.now.to_i で、秒で換算された数値が出る。 分単位で調べるため、60 で割る。正確な数値を出すために、to_f にして、60 で割ろう。

% irb
irb(main):001:0> Time.now.to_f/60
=> 20441144.559453

UTC の今年の元旦 0:00 から数えて何分経ったの?

Time.local(2008,1,1,0) と指定すると、日本時間の表示が出るので、 これに to_f を足せばよい。 また、UTC の場合は、 Time.utc(2008,1,1,0) とする。

データを読みこんで、 UTC で 2008 年元旦から何分経っているかを調べるには、 このようになる。 実際はデータを決めうちではなく、読みこませるように変更しなくてはならない。

公益大世界天文年プロジェクト / 講義ノート / 教員トップページ