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

class DateTime

クラス・モジュールの継承リスト: DateTime < Date < Comparable < Object < Kernel < BasicObject

要約

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

DateTime は deprecated とされているため、 Timeを使うことを推奨します。

簡単なつかいかた

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

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

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

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

commercial(cwyear = -4712, cweek = 1, cwday = 1, hour = 0, min = 0, sec = 0, offset = 0, start = Date::ITALY) -> DateTime

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

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

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

iso8601(str = '-4712-01-01T00:00:00+00:00', start = Date::ITALY) -> DateTime

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

jd(jd = 0, hour = 0, min = 0, sec = 0, offset = 0, start = Date::ITALY) -> DateTime

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

jisx0301(str = '-4712-01-01T00:00:00+00:00', start = Date::ITALY) -> DateTime

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

now(start = Date::ITALY) -> DateTime

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

ordinal(year = -4712, yday = 1, hour = 0, min = 0, sec = 0, offset = 0, start = Date::ITALY) -> DateTime

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

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

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

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] で定められた書式の日付を解析し、その情報に基づいて日付オブジェクトを生成します。

rfc3339(str = '-4712-01-01T00:00:00+00:00', start = Date::ITALY) -> DateTime

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

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

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

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

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

xmlschema(str = '-4712-01-01T00:00:00+00:00', start = Date::ITALY) -> DateTime

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

インスタンスメソッド

定義 説明
hour -> Integer

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

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

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

jisx0301(n = 0) -> String

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

min -> Integer
minute -> Integer

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

new_offset(offset = 0) -> DateTime

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

offset -> Rational

時差を返します。

sec -> Integer
second -> Integer

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

sec_fraction -> Rational
second_fraction -> Rational

秒の小数点以下の部分を表す分数を返します。

zone -> String

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

継承したメソッド

! != __id__ __send__ instance_eval instance_exec method_missing singleton_method_added singleton_method_removed singleton_method_undefined < <= == > >= between? clamp + - << <=> === >> ajd amjd asctime cwday cweek cwyear day downto england friday? gregorian gregorian? httpdate italy jd julian julian? ld leap? mjd mon monday? new_start next next_day next_month next_year prev_day prev_month prev_year rfc2822 saturday? start step strftime sunday? thursday? to_date to_datetime to_s to_time tuesday? upto wday wednesday? yday year ._httpdate ._iso8601 ._jisx0301 ._parse ._rfc2822 ._rfc3339 ._xmlschema .gregorian_leap? .julian_leap? .valid_civil? .valid_commercial? .valid_jd? .valid_ordinal? ::ENGLAND ::GREGORIAN ::ITALY ::JULIAN !~ =~ _dump class clone define_singleton_method display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? itself marshal_dump marshal_load method methods nil? object_id pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods psych_to_yaml public_method public_methods public_send remove_instance_variable respond_to? respond_to_missing? send singleton_class singleton_method singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str trust untaint untrust untrusted? yield_self .yaml_tag ::ARGF ::ARGV ::DATA ::ENV ::FALSE ::NIL ::RUBY_COPYRIGHT ::RUBY_DESCRIPTION ::RUBY_ENGINE ::RUBY_ENGINE_VERSION ::RUBY_PATCHLEVEL ::RUBY_PLATFORM ::RUBY_RELEASE_DATE ::RUBY_REVISION ::RUBY_VERSION ::SCRIPT_LINES__ ::STDERR ::STDIN ::STDOUT ::TOPLEVEL_BINDING ::TRUE

追加されるメソッド

定義 説明 ライブラリ
json_create(hash) -> DateTime

JSON のオブジェクトから Ruby のオブジェクトを生成して返します。

json/add/date_time
to_json(*args) -> String

自身を JSON 形式の文字列に変換して返します。

json/add/date_time