Ruby 2.3.0 リファレンスマニュアル > ライブラリ一覧 > dateライブラリ > DateTimeクラス
クラスの継承リスト: 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
_strptime(str, format = '%FT%T%z') -> Hash
[permalink][rdoc]与えられた雛型で日時表現を解析し、その情報に基づいてハッシュを生成します。
例:
require 'date' DateTime._strptime('2001-02-03T12:13:14Z') # => {:year=>2001, :mon=>2, :mday=>3, :hour=>12, :min=>13, :sec=>14, :zone=>"Z", :offset=>0}
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
[permalink][rdoc]new(year = -4712, mon = 1, mday = 1, hour = 0, min = 0, sec = 0, offset = 0, start = Date::ITALY) -> DateTime
暦日付に相当する日時オブジェクトを生成します。
時差の単位は日です。 1.8.6 以降では、"+0900" のような時差をあらわす文字列もつかえます。
commercial(cwyear = -4712, cweek = 1, cwday = 1, hour = 0, min = 0, sec = 0, offset = 0, start = Date::ITALY) -> DateTime
[permalink][rdoc]暦週日付に相当する日時オブジェクトを生成します。
DateTime.new も参照してください。
httpdate(str = 'Mon, 01 Jan -4712 00:00:00 GMT', start = Date::ITALY) -> DateTime
[permalink][rdoc][RFC2616] で定められた書式の日付を解析し、 その情報に基づいて日付オブジェクトを生成します。
Date._httpdate も参照してください。
iso8601(str = '-4712-01-01T00:00:00+00:00', start = Date::ITALY) -> DateTime
[permalink][rdoc]いくつかの代表的な [[ISO:8601]] 書式の日付を解析し、 その情報に基づいて日付オブジェクトを生成します。
Date._iso8601 も参照してください。
jd(jd = 0, hour = 0, min = 0, sec = 0, offset = 0, start = Date::ITALY) -> DateTime
[permalink][rdoc]ユリウス日に相当する日時オブジェクトを生成します。
DateTime.new も参照してください。
jisx0301(str = '-4712-01-01T00:00:00+00:00', start = Date::ITALY) -> DateTime
[permalink][rdoc]いくつかの代表的な [[JIS:X 0301]] 書式の日付を解析し、 その情報に基づいて日付オブジェクトを生成します。
Date._jisx0301 も参照してください。
now(start = Date::ITALY) -> DateTime
[permalink][rdoc]現在の時刻に相当する日時オブジェクトを生成します。
ordinal(year = -4712, yday = 1, hour = 0, min = 0, sec = 0, offset = 0, start = Date::ITALY) -> DateTime
[permalink][rdoc]年日付に相当する日時オブジェクトを生成します。
DateTime.new も参照してください。
parse(str = '-4712-01-01T00:00:00+00:00', complete = true, start = Date::ITALY) -> DateTime
[permalink][rdoc]与えられた日時表現を解析し、 その情報に基づいて DateTime オブジェクトを生成します。
年が "00" から "99" の範囲であれば、 年の下2桁表現であるとみなしこれを補います。 この振舞いを抑止したい場合は、ヒントとして、complete に false を与えます。
例:
require 'date' DateTime.parse('2001-02-03T12:13:14Z').to_s # => "2001-02-03T12:13:14+00:00"
[SEE_ALSO] Date._parse, Date.parse
rfc2822(str = 'Mon, 1 Jan -4712 00:00:00 +0000', start = Date::ITALY) -> DateTime
[permalink][rdoc]rfc822(str = 'Mon, 1 Jan -4712 00:00:00 +0000', start = Date::ITALY) -> DateTime
[RFC2822] で定められた書式の日付を解析し、 その情報に基づいて日付オブジェクトを生成します。
Date._rfc2822 も参照してください。
rfc3339(str = '-4712-01-01T00:00:00+00:00', start = Date::ITALY) -> DateTime
[permalink][rdoc][RFC3339] 書式の日付を解析し、 その情報に基づいて日付オブジェクトを生成します。
Date._rfc3339 も参照してください。
strptime(str = '-4712-01-01T00:00:00+00:00', format = '%FT%T%z', start = Date::ITALY) -> DateTime
[permalink][rdoc]与えられた雛型で日時表現を解析し、 その情報に基づいて DateTime オブジェクトを生成します。
例:
require 'date' 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
[permalink][rdoc]このクラスでは利用できません。
DateTime.now を参照してください。
xmlschema(str = '-4712-01-01T00:00:00+00:00', start = Date::ITALY) -> DateTime
[permalink][rdoc]XML Schema による書式の日付を解析し、 その情報に基づいて日付オブジェクトを生成します。
Date._xmlschema も参照してください。
hour -> Integer
[permalink][rdoc]時間を返します (0-23)。
iso8601(n = 0) -> String
[permalink][rdoc]rfc3339(n = 0) -> String
xmlschema(n = 0) -> String
[[ISO:8601]] 書式の文字列を返します (XML Schema の dateTime 相当)。 省略可能な引数により、印字する秒の小数点以下の桁数を与えることができます。
strftime('%FT%T%:z') と等価です。
例:
require 'date' DateTime.parse('2001-02-03T04:05:06.123456789+07:00').iso8601(9) #=> "2001-02-03T04:05:06.123456789+07:00"
jisx0301(n = 0) -> String
[permalink][rdoc][[JIS:X 0301]] 書式の文字列を返します。 省略可能な引数により、印字する秒の小数点以下の桁数を与えることができます。
例:
require 'date' DateTime.parse('2001-02-03T04:05:06.123456789+07:00').jisx0301(9) #=> "H13.02.03T04:05:06.123456789+07:00"
min -> Integer
[permalink][rdoc]minute -> Integer
分を返します (0-59)。
new_offset(offset = 0) -> DateTime
[permalink][rdoc]self を複製して、その時差を設定しなおします。 引数を省略した場合は、零 (協定世界時) になります。
DateTime.new も参照してください。
offset -> Rational
[permalink][rdoc]時差を返します。
sec -> Integer
[permalink][rdoc]second -> Integer
秒を返します (0-59)。
sec_fraction -> Rational
[permalink][rdoc]second_fraction -> Rational
秒の小数点以下の部分を表す分数を返します。
zone -> String
[permalink][rdoc]タイムゾーンを返します。
これは、正確には時差をあらわす文字列です。