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

class DateTime + Date + Comparable

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

要約

日付だけでなく時刻も扱える 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

特異メソッド

_httpdate(str) -> Hash

このメソッドは Date.httpdate と似ていますが、日付オブジェクトを生成せずに、 見いだした要素をハッシュで返します。

Date.httpdate も参照してください。

[PARAM] str:
日付をあらわす文字列
_iso8601(str) -> Hash

このメソッドは Date.iso8601 と似ていますが、日付オブジェクトを生成せずに、 見いだした要素をハッシュで返します。

Date.iso8601 も参照してください。

[PARAM] str:
日付をあらわす文字列
_jisx0301(str) -> Hash

このメソッドは Date.jisx0301 と似ていますが、日付オブジェクトを生成せずに、 見いだした要素をハッシュで返します。

Date.jisx0301 も参照してください。

[PARAM] str:
日付をあらわす文字列
_parse(str, complete = true) -> Hash

このメソッドは Date.parse と似ていますが、日付オブジェクトを生成せずに、 見いだした要素をハッシュで返します。

Date.parse も参照してください。

[PARAM] str:
日付をあらわす文字列
[PARAM] complete:
年を補完するか
_rfc2822(str) -> Hash
_rfc822(str) -> Hash

このメソッドは Date.rfc2822 と似ていますが、日付オブジェクトを生成せずに、 見いだした要素をハッシュで返します。

Date.rfc2822 も参照してください。

[PARAM] str:
日付をあらわす文字列
_rfc3339(str) -> Hash

このメソッドは Date.rfc3339 と似ていますが、日付オブジェクトを生成せずに、 見いだした要素をハッシュで返します。

Date.rfc3339 も参照してください。

[PARAM] str:
日付をあらわす文字列
_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

_strptime(str, format = '%F') -> Hash

このメソッドは Date.strptime と似ていますが、日付オブジェクトを生成せずに、 見いだした要素をハッシュで返します。

[PARAM] str:
日付をあらわす文字列
[PARAM] format:
書式
_xmlschema(str) -> Hash

このメソッドは Date.xmlschema と似ていますが、日付オブジェクトを生成せずに、 見いだした要素をハッシュで返します。

Date.xmlschema も参照してください。

[PARAM] str:
日付をあらわす文字列
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:
正しくない日時
civil(year = -4712, mon = 1, mday = 1, start = Date::ITALY) -> Date
new(year = -4712, mon = 1, mday = 1, start = Date::ITALY) -> Date

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

このクラスでは、紀元前の年を天文学の流儀で勘定します。 1年の前は零年、零年の前は-1年、のようにします。 月、および月の日は負、 または正の数でなければなりません (負のときは最後からの序数)。 零であってはなりません。

最後の引数は、グレゴリオ暦をつかい始めた日をあらわすユリウス日です。 省略した場合は、Date::ITALY (1582年10月15日) になります。

Date.jd も参照してください。

[PARAM] year:
[PARAM] mon:
[PARAM] mday:
[PARAM] start:
グレゴリオ暦をつかい始めた日をあらわすユリウス日
[EXCEPTION] ArgumentError:
正しくない日付になる組み合わせである場合に発生します。
commercial(cwyear = -4712, cweek = 1, cwday = 1, 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:
正しくない日時
commercial(cwyear = -4712, cweek = 1, cwday = 1, start = Date::ITALY) -> Date

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

週、および週の日 (曜日) は負、 または正の数でなければなりません(負のときは最後からの序数)。 零であってはなりません。

このメソッドに改暦前の日付を与えることはできません。

Date.jd、および Date.new も参照してください。

[PARAM] cwyear:
[PARAM] cweek:
[PARAM] cwday:
週の日 (曜日)
[PARAM] start:
グレゴリオ暦をつかい始めた日をあらわすユリウス日
[EXCEPTION] ArgumentError:
正しくない日付になる組み合わせである場合に発生します。
gregorian_leap?(year) -> bool
leap?(year) -> bool

グレゴリオ暦の閏年なら真を返します。

[PARAM] year:
httpdate(str = 'Mon, 01 Jan -4712 00:00:00 GMT', start = Date::ITALY) -> DateTime

[RFC2616] で定められた書式の日付を解析し、 その情報に基づいて日付オブジェクトを生成します。

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

[PARAM] str:
日付をあらわす文字列
[PARAM] start:
グレゴリオ暦をつかい始めた日をあらわすユリウス日
httpdate(str = 'Mon, 01 Jan -4712 00:00:00 GMT', start = Date::ITALY) -> Date

[RFC2616] で定められた書式の日付を解析し、 その情報に基づいて日付オブジェクトを生成します。

Date._httpdate も参照してください。

[PARAM] str:
日付をあらわす文字列
[PARAM] start:
グレゴリオ暦をつかい始めた日をあらわすユリウス日
iso8601(str = '-4712-01-01T00:00:00+00:00', start = Date::ITALY) -> DateTime

いくつかの代表的な [[ISO:8601]] 書式の日付を解析し、 その情報に基づいて日付オブジェクトを生成します。

[PARAM] str:
日付をあらわす文字列

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

[PARAM] str:
日付をあらわす文字列
[PARAM] start:
グレゴリオ暦をつかい始めた日をあらわすユリウス日
iso8601(str = '-4712-01-01', start = Date::ITALY) -> Date

いくつかの代表的な [[ISO:8601]] 書式の日付を解析し、 その情報に基づいて日付オブジェクトを生成します。

[PARAM] str:
日付をあらわす文字列

Date._iso8601 も参照してください。

[PARAM] str:
日付をあらわす文字列
[PARAM] start:
グレゴリオ暦をつかい始めた日をあらわすユリウス日
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:
正しくない日時
jd(jd = 0, start = Date::ITALY) -> Date

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

このクラスのいくつかの重要なメソッドで、 負のユリウス日は保証されません。

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

[PARAM] jd:
ユリウス日
[PARAM] start:
グレゴリオ暦をつかい始めた日をあらわすユリウス日
jisx0301(str = '-4712-01-01T00:00:00+00:00', start = Date::ITALY) -> DateTime

いくつかの代表的な [[JIS:X 0301]] 書式の日付を解析し、 その情報に基づいて日付オブジェクトを生成します。

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

[PARAM] str:
日付をあらわす文字列
[PARAM] start:
グレゴリオ暦をつかい始めた日をあらわすユリウス日
jisx0301(str = '-4712-01-01', start = Date::ITALY) -> Date

いくつかの代表的な [[JIS:X 0301]] 書式の日付を解析し、 その情報に基づいて日付オブジェクトを生成します。

Date._jisx0301 も参照してください。

[PARAM] str:
日付をあらわす文字列
[PARAM] start:
グレゴリオ暦をつかい始めた日をあらわすユリウス日
julian_leap?(year) -> bool

ユリウス暦の閏年なら真を返します。

西暦4年は真になりますが、 これは歴史的には正しくありません。

[PARAM] year:
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:
正しくない日時
ordinal(year = -4712, yday = 1, start = Date::ITALY) -> Date

年間通算日 (年日付) に相当する日付オブジェクトを生成します。

年の日は負、 または正の数でなければなりません (負のときは最後からの序数)。 零であってはなりません。

Date.jd、および Date.new も参照してください。

[PARAM] year:
[PARAM] yday:
年の日
[PARAM] start:
グレゴリオ暦をつかい始めた日をあらわすユリウス日
[EXCEPTION] ArgumentError:
正しくない日付になる組み合わせである場合に発生します。
parse(str = '-4712-01-01T00:00:00+00:00', complete = true, start = Date::ITALY) -> DateTime

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

年が "00" から "99" の範囲であれば、 年の下2桁表現であるとみなしこれを補います。 この振舞いを抑止したい場合は、ヒントとして、complete に false を与えます。

[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

parse(str = '-4712-01-01', complete = true, start = Date::ITALY) -> Date

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

年が "00" から "99" の範囲であれば、 年の下2桁表現であるとみなしこれを補います。 この振舞いを抑止したい場合は、ヒントとして、complete に false を与えます。

Date._parse も参照してください。

[PARAM] str:
日付をあらわす文字列
[PARAM] complete:
年を補完するか
[PARAM] start:
グレゴリオ暦をつかい始めた日をあらわすユリウス日
[EXCEPTION] ArgumentError:
正しくない日付になる組み合わせである場合に発生します。
rfc2822(str = 'Mon, 1 Jan -4712 00:00:00 +0000', start = Date::ITALY) -> DateTime
rfc822(str = 'Mon, 1 Jan -4712 00:00:00 +0000', start = Date::ITALY) -> DateTime

[RFC2822] で定められた書式の日付を解析し、 その情報に基づいて日付オブジェクトを生成します。

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

[PARAM] str:
日付をあらわす文字列
[PARAM] start:
グレゴリオ暦をつかい始めた日をあらわすユリウス日
rfc2822(str = 'Mon, 1 Jan -4712 00:00:00 +0000', start = Date::ITALY) -> Date
rfc822(str = 'Mon, 1 Jan -4712 00:00:00 +0000', start = Date::ITALY) -> Date

[RFC2822] で定められた書式の日付を解析し、 その情報に基づいて日付オブジェクトを生成します。

Date._rfc2822 も参照してください。

[PARAM] str:
日付をあらわす文字列
[PARAM] start:
グレゴリオ暦をつかい始めた日をあらわすユリウス日
rfc3339(str = '-4712-01-01T00:00:00+00:00', start = Date::ITALY) -> DateTime

[RFC3339] 書式の日付を解析し、 その情報に基づいて日付オブジェクトを生成します。

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

[PARAM] str:
日付をあらわす文字列
[PARAM] start:
グレゴリオ暦をつかい始めた日をあらわすユリウス日
rfc3339(str = '-4712-01-01T00:00:00+00:00', start = Date::ITALY) -> Date

[RFC3339] 書式の日付を解析し、 その情報に基づいて日付オブジェクトを生成します。

Date._rfc3339 も参照してください。

[PARAM] str:
日付をあらわす文字列
[PARAM] start:
グレゴリオ暦をつかい始めた日をあらわすユリウス日
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

strptime(str = '-4712-01-01', format = '%F', start = Date::ITALY) -> Date

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

Date._strptime も参照してください。 また strptime(3)、および Date#strftime も参照してください。

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

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

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

[PARAM] start:
グレゴリオ暦をつかい始めた日をあらわすユリウス日
today(start = Date::ITALY) -> Date

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

[PARAM] start:
グレゴリオ暦をつかい始めた日をあらわすユリウス日
valid_civil?(year, mon, mday, start = Date::GREGORIAN) -> bool
valid_date?(year, mon, mday, start = Date::GREGORIAN) -> bool

正しい暦日付であれば真、そうでないなら偽を返します。

Date.jd、および Date.civil も参照してください。

[PARAM] year:
[PARAM] mon:
[PARAM] mday:
[PARAM] start:
グレゴリオ暦をつかい始めた日をあらわすユリウス日
valid_commercial?(cwyear, cweek, cwday, start = Date::GREGORIAN) -> bool

正しい暦週日付であれば真、そうでないなら偽を返します。

Date.jd、および Date.commercial も参照してください。

[PARAM] cwyear:
[PARAM] cweek:
[PARAM] cwday:
週の日 (曜日)
[PARAM] start:
グレゴリオ暦をつかい始めた日をあらわすユリウス日
valid_jd?(jd, start = Date::GREGORIAN) -> bool

真を返します。

対称性のため用意されていますが、実際的に意味はありません。

Date.jd も参照してください。

[PARAM] jd:
ユリウス日
[PARAM] start:
グレゴリオ暦をつかい始めた日をあらわすユリウス日
valid_ordinal?(year, yday, start = Date::GREGORIAN) -> bool

正しい年間通算日 (年日付) であれば真、そうでないなら偽を返します。

Date.jd、および Date.ordinal も参照してください。

[PARAM] year:
[PARAM] yday:
年の日
[PARAM] start:
グレゴリオ暦をつかい始めた日をあらわすユリウス日
xmlschema(str = '-4712-01-01T00:00:00+00:00', start = Date::ITALY) -> DateTime

XML Schema による書式の日付を解析し、 その情報に基づいて日付オブジェクトを生成します。

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

[PARAM] str:
日付をあらわす文字列
[PARAM] start:
グレゴリオ暦をつかい始めた日をあらわすユリウス日
xmlschema(str = '-4712-01-01', start = Date::ITALY) -> Date

XML Schema による書式の日付を解析し、 その情報に基づいて日付オブジェクトを生成します。

Date._xmlschema も参照してください。

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

インスタンスメソッド

self + n -> Date

self から n 日後の日付オブジェクトを返します。 n は数値でなければなりません。

[PARAM] n:
日数
[EXCEPTION] TypeError:
n が数値でない場合に発生します。
self - x -> Rational | Date

x が日付オブジェクトなら、ふたつの差を返します。 あるいは x が数値ならば、self より x 日前の日付を返します。

[PARAM] x:
日数、あるいは日付オブジェクト
[EXCEPTION] TypeError:
x が数値でも日付オブジェクトでもない場合に発生します。
self < other -> bool

比較演算子 <=> をもとにオブジェクト同士を比較します。 <=> が負の整数を返した場合に、true を返します。 それ以外の整数を返した場合に、false を返します。

[PARAM] other:
自身と比較したいオブジェクトを指定します。
[EXCEPTION] ArgumentError:
<=> が nil を返したときに発生します。
self << n -> Date

self より n ヶ月前の日付オブジェクトを返します。 n は数値でなければなりません。

Date#prev_month も参照してください。

[PARAM] n:
月数
self <= other -> bool

比較演算子 <=> をもとにオブジェクト同士を比較します。 <=> が負の整数か 0 を返した場合に、true を返します。 それ以外の整数を返した場合に、false を返します。

[PARAM] other:
自身と比較したいオブジェクトを指定します。
[EXCEPTION] ArgumentError:
<=> が nil を返したときに発生します。
self <=> other -> Integer

ふたつを比較し、-1、零、あるいは 1 を返します。 other は日付オブジェクトか、 天文学的なユリウス日をあらわす数値でなければなりません。

[PARAM] other:
日付オブジェクト
self == other -> bool | nil

比較演算子 <=> をもとにオブジェクト同士を比較します。 <=> が 0 を返した時に、true を返します。 それ以外を返した場合は、false を返します。

[PARAM] other:
自身と比較したいオブジェクトを指定します。
self === other -> bool

同じ日なら真を返します。

[PARAM] other:
日付オブジェクト
self > other -> bool

比較演算子 <=> をもとにオブジェクト同士を比較します。 <=> が正の整数を返した場合に、true を返します。 それ以外の整数を返した場合に、false を返します。

[PARAM] other:
自身と比較したいオブジェクトを指定します。
[EXCEPTION] ArgumentError:
<=> が nil を返したときに発生します。
self >= other -> bool

比較演算子 <=> をもとにオブジェクト同士を比較します。 <=> が正の整数か 0 を返した場合に、true を返します。 それ以外の整数を返した場合に、false を返します。

[PARAM] other:
自身と比較したいオブジェクトを指定します。
[EXCEPTION] ArgumentError:
<=> が nil を返したときに発生します。
self >> n -> Date

self から n ヶ月後の日付オブジェクトを返します。 n は数値でなければなりません。

Date#next_month も参照してください。

[PARAM] n:
月数
ajd -> Rational

このメソッドは Date#jd と似ていますが、天文学的なユリウス日を返します。 時刻を含みます。

amjd -> Rational

このメソッドは Date#mjd と似ていますが、天文学的な修正ユリウス日を返します。 時刻を含みます。

asctime -> String
ctime -> String

asctime(3) 書式の文字列を返します (ただし、末尾の "\n\0" は除く)。

between?(min, max) -> bool

比較演算子 <=> をもとに self が min と max の範囲内(min, max を含みます)にあるかを判断します。

以下のコードと同じです。

self >= min and self <= max
[PARAM] min:
範囲の下端を表すオブジェクトを指定します。
[PARAM] max:
範囲の上端を表すオブジェクトを指定します。
[EXCEPTION] ArgumentError:
self <=> min か、self <=> max が nil を返 したときに発生します。
3.between?(1, 5)               #=> true
6.between?(1, 5)               #=> false
'cat'.between?('ant', 'dog')   #=> true
'gnu'.between?('ant', 'dog')   #=> false
cwday -> Integer

暦週の日 (曜日) を返します (1-7、月曜は1)。

cweek -> Integer

暦週を返します (1-53)。

cwyear -> Integer

暦週における年を返します。

mday -> Integer
day -> Integer

月の日を返します (1-31)。

downto(min) {|date| ...} -> self
downto(min) -> Enumerator

このメソッドは、step(min, -1){|date| ...} と等価です。

[PARAM] min:
日付オブジェクト

[SEE_ALSO] Date#step, Date#upto

england -> Date

このメソッドは、new_start(Date::ENGLAND) と等価です。

Date#new_start、および Date::ENGLAND を参照してください。

friday? -> bool

金曜日なら真を返します。

gregorian -> Date

このメソッドは、new_start(Date::GREGORIAN) と等価です。

Date#new_start、および Date::GREGORIAN を参照してください。

gregorian? -> bool

グレゴリオ暦なら真を返します。

hour -> Integer

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

httpdate -> String

[RFC2616] ([RFC1123]) で定められた書式の文字列を返します。

iso8601(n = 0) -> String
rfc3339(n = 0) -> String
xmlschema(n = 0) -> String

[[ISO:8601]] 書式の文字列を返します (XML Schema の dateTime 相当)。 省略可能な引数により、印字する秒の小数点以下の桁数を与えることができます。

[PARAM] n:
小数点以下の桁数
iso8601 -> String
rfc3339 -> String

[[ISO:8601]] 書式の文字列を返します (拡大表記はつかいません)。

italy -> Date

このメソッドは、new_start(Date::ITALY) と等価です。

Date#new_start、および Date::ITALY を参照してください。

jd -> Integer

ユリウス日を返します。 時刻を含みません。

Date#ajd も参照してください。

jisx0301(n = 0) -> String

[[JIS:X 0301]] 書式の文字列を返します。 省略可能な引数により、印字する秒の小数点以下の桁数を与えることができます。

[PARAM] n:
小数点以下の桁数
jisx0301 -> String

[[JIS:X 0301]] 書式の文字列を返します。 ただし、明治以前については [[ISO:8601]] 書式になります。 なお、明治6年以前についても太陰太陽暦を使用することはありません。

julian -> Date

このメソッドは、new_start(Date::JULIAN) と等価です。

Date#new_start、および Date::JULIAN を参照してください。

julian? -> bool

ユリウス暦なら真を返します。

ld -> Integer

リリウス日を返します。

leap? -> bool

閏年なら真を返します。

min -> Integer

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

mjd -> Integer

修正ユリウス日を返します。 時刻の情報を含みません。

Date#amjd も参照してください。

mon -> Integer
month -> Integer

月を返します (1-12)。

monday? -> bool

月曜日なら真を返します。

new_offset(offset = 0) -> DateTime

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

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

[PARAM] offset:
時差
new_start(start = Date::ITALY) -> Date

self を複製して、その改暦日を設定しなおします。 引数を省略した場合は、Date::ITALY (1582年10月15日) になります。

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

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

翌日の日付オブジェクトを返します。

next_day(n = 1) -> Date

n 日後を返します。

Date#succ も参照してください。

[PARAM] n:
日数
next_month(n = 1) -> Date

n ヶ月後を返します。

Date#>> も参照してください。

[PARAM] n:
月数
next_year(n = 1) -> Date

n 年後を返します。

[PARAM] n:
年数
offset -> Rational

時差を返します。

prev_day(n = 1) -> Date

n 日前を返します。

[PARAM] n:
日数
prev_month(n = 1) -> Date

n ヶ月前を返します。

Date#<< も参照してください。

[PARAM] n:
月数
prev_year(n = 1) -> Date

n 年前を返します。

[PARAM] n:
年数
rfc2822 -> String
rfc822 -> String

[RFC2822] で定められた書式の文字列を返します。

saturday? -> bool

土曜日なら真を返します。

sec -> Integer

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

start -> Integer

改暦日をあらわすユリウス日を返します。

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

step(limit, step = 1) {|date| ...} -> self
step(limit, step = 1) -> Enumerator

ブロックの評価を繰り返します。ブロックは日付オブジェクトをとります。 limit は日付オブジェクトでなければなりません、 また step は非零でなければなりません。

[PARAM] limit:
日付オブジェクト
[PARAM] step:
歩幅

[SEE_ALSO] Date#downto, Date#upto

strftime(format = '%F') -> String

与えられた雛型で日付を書式づけます。

つぎの変換仕様をあつかいます:

%A, %a, %B, %b, %C, %c, %D, %d, %e, %F, %G, %g, %H, %h, %I, %j, %k, %l, %M, %m, %n, %P, %p, %R, %r, %S, %s, %T, %t, %U, %u, %V, %v, %W, %w, %X, %x, %Y, %y, %Z, %z, %%, %+

1.8.6 以降では、%L, %N, %Q もつかえます。 また、GNU 版にあるような幅指定などもできます。

strftime(3)、および Date.strptime も参照してください。

[PARAM] format:
書式
sunday? -> bool

日曜日なら真を返します。

thursday? -> bool

木曜日なら真を返します。

to_date -> Date

対応する Date オブジェクトを返します。

to_datetime -> DateTime

対応する DateTime オブジェクトを返します。

to_s -> String

[[ISO:8601]] 書式の文字列を返します (拡大表記はつかいません)。

to_time -> Time

対応する Time オブジェクトを返します。

tuesday? -> bool

火曜日なら真を返します。

upto(max) {|date| ...} -> self
upto(max) -> Enumerator

このメソッドは、step(max, 1){|date| ...} と等価です。

[PARAM] max:
日付オブジェクト

[SEE_ALSO] Date#step, Date#downto

wday -> Integer

曜日を返します (0-6、日曜日は零)。

wednesday? -> bool

水曜日なら真を返します。

xmlschema -> String

XML Scheme (date) による書式の文字列を返します。

yday -> Integer

年の日を返します (1-366)。

year -> Integer

年を返します。

zone -> String

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

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

定数

ENGLAND -> Integer

英国がグレゴリオ暦をつかい始めた日 (1752年9月14日) をあらわすユリウス日です。 この "ENGLAND" の名前は、旧い UNIX の cal(1) の記述に由来します。

[SEE_ALSO] http://www.cs.bell-labs.com/who/dmr/man61.pdf

ちなみに、本実装で英国の改暦日を尊重する姿勢がみられるのは前実装からの影響です。 前実装が英国の改暦日を尊重していたのは、おそらく cal(1) の影響です。 もっとも本実装で一番に尊重されているのは、伊国の改暦日であり、多くの場合、 改暦日の既定値は Date::ITALY です。

GREGORIAN -> Date::Infinity

常にグレゴリオ暦であることを示します。 改暦日は無限の過去にあると考えられます。

ITALY -> Integer

伊国がグレゴリオ暦をつかい始めた日 (1582年10月15日) をあらわすユリウス日です。

JULIAN -> Date::Infinity

常にユリウス暦であることを示します。 改暦日は無限の未来にあると考えられます。

class DateTime