プログラミング入門

Timeクラスについて知ろう

この章ではTimeクラスについて説明します。
Timeクラスは文字通り、時刻を表現するクラスです。 では例をみてみましょう。 このTimeクラスのオブジェクトのtimeには現在の時刻が格納されていますので、のように現在の時刻が出力されます。
上の例は以下のように書いても同じ結果を得られます。
次は個別に年,日などを取得する方法について説明します。 本日の曜日を文字で得たい場合には曜日の配列を作成して、その配列の添え字にの結果を入れます。

次は時刻に対しての計算方法について説明します。
タイムオブジェクトは足し算や引き算などを行うことが出来ます。
では例をみてみましょう。 =>現在の日時から5時間分を引いた例です(足す場合には「+」を使用します)。
タイムオブジェクトから指定した秒数を「-」で引きます。
は5時間になります。
結果は以下の通りです。
次は時刻をフォーマット通りの文字列にする方法について説明します。
基本構文は以下の通りです。 では例をみてみましょう。 => strftimeのカッコの中はダブルクォートかシングルクォートで全体を囲んで、例のように日本語とフォーマット文字列を混ぜ込んで書きます。
フォーマット文字列の間はカンマで区切る必要はありません。
結果は以下の通りです。
次はタイムオブジェクトをto_sメソッドで出力する方法について説明します。
では例をみてみましょう。 => puts timeはを使ってと書くこともできます。
結果はどちらも現在の時間のです。
結果は次の通りです。
次はタイムオブジェクトをで表示させた例を説明します。
タイムオブジェクトは1970年1月1日午前0時から何秒経ったかの情報を持っているので、それを表示するのがです。
これらの違いを例で説明します。
では例をみてみましょう。 to_fは1970年1月1日午前0時からの経過秒を浮動小数点数で表しています。
to_iやtv_secは1970年1月1日午前0時からの経過秒を整数で表しています。
次は経過秒からタイムオブジェクトを作成するatメソッドについて説明します。
では例をみてみましょう。 この結果はローカルタイム(現地の時刻)で出力していますが、これを世界協定時(UTC)に変更することも出来ますので、次の例を見てみましょう。
世界協定時とは世界で標準に使われている時刻です。 このようにタイムオブジェクトに「UTC」を付けることで、世界協定時を取得できます。
結果はローカルタイムがです。
世界協定時がです。ですので、9時間の時差があります。

次は文字列で書かれた時刻の情報をのような形式に変換するparseメソッドについて説明します。
このparseメソッドを使用するには冒頭にを挿入することが必要です。
では例をみてみましょう。 のような時刻文字列を以下のような表示に変換します。
英字やH12のような文字列も使用できます。