Ruby 1.8.7 リファレンスマニュアル > ライブラリ一覧 > dateライブラリ > DateTimeクラス

class DateTime

クラスの継承リスト: DateTime < Date < Comparable < Object < Kernel

要約

日付だけでなく時刻も扱える Date のサブクラスです。

簡単なつかいかた

require 'date'

a = DateTime.new(1993, 2, 24, 12, 30, 45)
b = DateTime.parse('1993-02-24T12:30:45')
b += 10

b - a            #=> 10
b.year           #=> 1993
b.strftime('%a') #=> "Sat"

yesterday = DateTime.now - 1

特異メソッド

_strptime(str, format = '%FT%T%z') -> Hash

与えられた雛型で日時表現を解析し、その情報に基づいてハッシュを生成します。

[PARAM] str:
日時をあらわす文字列
[PARAM] format:
書式

例:

DateTime._strptime('2001-02-03T12:13:14Z')
# => {:sec=>14, :zone=>"Z", :year=>2001, :hour=>12, :mday=>3, :min=>13, :offset=>0, :mon=>2}

DateTime.strptime の内部で使用されています。

[SEE_ALSO] Date._strptime, DateTime.strptime

civil(year = -4712, mon = 1, mday = 1, hour = 0, min = 0, sec = 0, offset = 0, start = Date::ITALY) -> DateTime
new(year = -4712, mon = 1, mday = 1, hour = 0, min = 0, sec = 0, offset = 0, start = Date::ITALY) -> DateTime

暦日付に相当する日時オブジェクトを生成します。

時差の単位は日です。 1.8.6 以降では、"+0900" のような時差をあらわす文字列もつかえます。

[PARAM] year:
[PARAM] mon:
[PARAM] mday:
[PARAM] hour:
[PARAM] min:
[PARAM] sec:
[PARAM] offset:
時差
[PARAM] start:
グレゴリオ暦をつかい始めた日をあらわすユリウス日
[EXCEPTION] ArgumentError:
正しくない日時
commercial(cwyear = 1582, cweek = 41, cwday = 5, hour = 0, min = 0, sec = 0, offset = 0, start = Date::ITALY) -> DateTime

暦週日付に相当する日時オブジェクトを生成します。

DateTime.new も参照してください。

[PARAM] cwyear:
[PARAM] cweek:
[PARAM] cwday:
週の日 (曜日)
[PARAM] hour:
[PARAM] min:
[PARAM] sec:
[PARAM] offset:
時差
[PARAM] start:
グレゴリオ暦をつかい始めた日をあらわすユリウス日
[EXCEPTION] ArgumentError:
正しくない日時
jd(jd = 0, hour = 0, min = 0, sec = 0, offset = 0, start = Date::ITALY) -> DateTime

ユリウス日に相当する日時オブジェクトを生成します。

DateTime.new も参照してください。

[PARAM] jd:
ユリウス日
[PARAM] hour:
[PARAM] min:
[PARAM] sec:
[PARAM] offset:
時差
[PARAM] start:
グレゴリオ暦をつかい始めた日をあらわすユリウス日
[EXCEPTION] ArgumentError:
正しくない日時
now(start = Date::ITALY) -> DateTime

現在の時刻に相当する日時オブジェクトを生成します。

[PARAM] start:
グレゴリオ暦をつかい始めた日をあらわすユリウス日
ordinal(year = -4712, yday = 1, hour = 0, min = 0, sec = 0, offset = 0, start = Date::ITALY) -> DateTime

年日付に相当する日時オブジェクトを生成します。

DateTime.new も参照してください。

[PARAM] year:
[PARAM] yday:
年の日
[PARAM] hour:
[PARAM] min:
[PARAM] sec:
[PARAM] offset:
時差
[PARAM] start:
グレゴリオ暦をつかい始めた日をあらわすユリウス日
[EXCEPTION] ArgumentError:
正しくない日時
parse(str = '-4712-01-01T00:00:00+00:00', complete = false, start = Date::ITALY) -> DateTime

与えられた日時表現を解析し、 その情報に基づいて DateTime オブジェクトを生成します。

complete が真で、年が "00" から "99" の範囲であれば、 年の下2桁表現であるとみなしこれを補います。 なお、省略した場合は、偽とみなします。

[PARAM] str:
日時をあらわす文字列
[PARAM] complete:
年を補完するか
[PARAM] start:
グレゴリオ暦をつかい始めた日をあらわすユリウス日
[EXCEPTION] ArgumentError:
正しくない日時になる組み合わせである場合に発生します。

例:

DateTime.parse('2001-02-03T12:13:14Z').to_s
# => "2001-02-03T12:13:14+00:00"

[SEE_ALSO] Date._parse, Date.parse

strptime(str = '-4712-01-01T00:00:00+00:00', format = '%FT%T%z', start = Date::ITALY) -> DateTime

与えられた雛型で日時表現を解析し、 その情報に基づいて DateTime オブジェクトを生成します。

[PARAM] str:
日時をあらわす文字列
[PARAM] format:
書式
[PARAM] start:
グレゴリオ暦をつかい始めた日をあらわすユリウス日
[EXCEPTION] ArgumentError:
正しくない日時になる組み合わせである場合に発生します。

例:

DateTime.strptime('2001-02-03T12:13:14Z').to_s
# => "2001-02-03T12:13:14+00:00"

[SEE_ALSO] Date.strptime, DateTime._strptime, strptime(3), Date#strftime

today(start = Date::ITALY) -> Date

このクラスでは利用できません。

DateTime.now を参照してください。

[PARAM] start:
グレゴリオ暦をつかい始めた日をあらわすユリウス日

インスタンスメソッド

hour -> Integer

時間を返します (0-23)。

[PARAM] n:
小数点以下の桁数
[PARAM] n:
小数点以下の桁数
min -> Integer

分を返します (0-59)。

new_offset(offset = 0) -> DateTime

self を複製して、その時差を設定しなおします。 引数を省略した場合は、零 (協定世界時) になります。

DateTime.new も参照してください。

[PARAM] offset:
時差
offset -> Rational

時差を返します。

sec -> Integer

秒を返します (0-59)。

zone -> String

タイムゾーンを返します。

これは、正確には時差をあらわす文字列です。

class DateTime