Ruby 2.7.0 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > Timeクラス > at

singleton method Time.at

at(time) -> Time[permalink][rdoc]
at(time, in:) -> Time

time で指定した時刻の Time オブジェクトを返します。

キーワード引数 in でタイムゾーンを指定できます。タイムゾーンの指定がなく引数が数値の場合、生成された Time オブジェクトのタイムゾーンは地方時となります。

[PARAM] time:
Time オブジェクト、もしくは起算時からの経過秒数を表わす数値で指定します。
[PARAM] in:
"+HH:MM" や "-HH:MM" のような形式の文字列か "UTC" かミリタリータイムゾーンの文字列または数値でタイムゾーンを指定します。

Time.at(0)                                # => 1970-01-01 09:00:00 +0900
Time.at(Time.at(0))                       # => 1970-01-01 09:00:00 +0900
Time.at(Time.at(0).getutc)                # => 1970-01-01 00:00:00 UTC
Time.at(946702800)                        # => 2000-01-01 14:00:00 +0900
Time.at(-284061600)                       # => 1960-12-31 15:00:00 +0900
Time.at(946684800.2).usec                 # => 200000
Time.at(1582721899, in: "+09:00")         # => 2020-02-26 21:58:19 +0900
Time.at(1582721899, in: 9*60*60)          # => 2020-02-26 21:58:19 +0900
Time.at(1582721899, in: "UTC")            # => 2020-02-26 12:58:19 UTC
Time.at(1582721899, in: "C")              # => 2020-02-26 13:58:19 +0300
at(time, usec) -> Time[permalink][rdoc]
at(time, usec, in:) -> Time

time + (usec/1000000) の時刻を表す Time オブジェクトを返します。浮動小数点の精度では不十分な場合に使用します。

キーワード引数 in でタイムゾーンを指定できます。タイムゾーンの指定がない場合、生成された Time オブジェクトのタイムゾーンは地方時となります。

[PARAM] time:
起算時からの経過秒数を表わす値をIntegerFloatRational、または他のNumericで指定します。
[PARAM] usec:
マイクロ秒をIntegerFloatRational、または他のNumericで指定します。
[PARAM] in:
"+HH:MM" や "-HH:MM" のような形式の文字列か "UTC" かミリタリータイムゾーンの文字列または数値でタイムゾーンを指定します。

Time.at(946684800, 123456.789).nsec  # => 123456789
at(seconds, xseconds, unit) -> Time[permalink][rdoc]
at(seconds, xseconds, unit, in:) -> Time

unit に応じて seconds + xseconds ミリ秒などの時刻を表す Time オブジェクトを返します。

[PARAM] seconds:
起算時からの経過秒数を表わす値をIntegerFloatRational、または他のNumericで指定します。
[PARAM] xseconds:
unit に対応するミリ秒かマイクロ秒かナノ秒を指定します。
[PARAM] unit:
:millisecond, :usec, :microsecond, :nsec, :nanosecond のいずれかを指定します。
[PARAM] in:
"+HH:MM" や "-HH:MM" のような形式の文字列か "UTC" かミリタリータイムゾーンの文字列または数値でタイムゾーンを指定します。

Time.at(946684800, 123.456789, :millisecond).nsec  # => 123456789
Time.at(946684800, 123456.789, :usec).nsec         # => 123456789
Time.at(946684800, 123456.789, :microsecond).nsec  # => 123456789
Time.at(946684800, 123456789, :nsec).nsec          # => 123456789