Ruby で UTC の現在時刻を取得する
Hassan Ejaz
2024年2月15日
この記事では、Ruby における日付と時刻の time クラス act に取り組みます。
Ruby で Time.now
を使用する
オペレーティング システムは、日付と時刻の機能を提供します。 1970 年以前または 2038 年以降、このクラスはシステム上で日付を表すことができない場合があります。
Ruby では Time.now
を使用して時刻と日付を表すことができます。 日付の 3つの構成要素は、日
、月
、および 年
です。
時間
についても、時
、分
、および 秒
の 3つの要素があります。
メソッドで Unix タイムスタンプを使用して Time オブジェクトを作成し、開始日を数値で Time.new
(形式: 年/月/日) に指定できます。 Time.now
を使用して、現在の時刻を表すオブジェクトを取得できます。
コード例:
# Ruby
time1 = Time.new
puts "Current Time : " + time1.inspect
time2 = Time.now
puts "Current Time : " + time2.inspect
出力:
時間オブジェクトは、日付と時刻のさまざまなコンポーネントを取得するために使用されます。
コード例:
# Ruby
time = Time.new
出力:
次のリストは、さまざまな機能に使用されるその他のメソッドです。
time.inspect
- 現在の時刻を取得します。time.year
- 日付の年を取得します。time.month
- 日付の月を取得します。time.wday
- 曜日を取得します。 値の範囲は1
から7
です。time.yday
- 年間通算日を取得します。 値は11
から365
の範囲です。time.hour
- 24 時間制の形式で時間を取得します。time.min
- 分の値を取得します。time.sec
- 秒の値を取得します。time.usec
- マイクロ秒を取得します。time.zone
- 時間帯を取得します。
UTCTime.utc
、Time.gm
、および Time.local
関数は、標準形式でデータをフォーマットするために使用されます。 以下の構文では、配列内のすべてのコンポーネントを取得します。
# ruby
[seconds,minutes,hour,day,month,year,wday,yday,isdst,zone]
コード例:
# Ruby
time = Time.new
values = time.to_a
puts values
出力:
時間オブジェクトは、日付と時刻のさまざまなコンポーネントを取得するために使用されます。
コード例:
# Ruby
time = Time.new
values = time.to_a
puts Time.utc(*values)
出力:
time オブジェクトを使用して、すべてのタイム ゾーンと夏時間情報を取得できます。
# ruby
time = Time.new
メソッド | 説明 |
---|---|
time.utc_offset |
タイム ゾーンと UTC ゾーンの差を取得します。 |
time.isdst |
UTC に DST があるかどうかを確認します。 |
time.utc? |
UTC にいるかどうかを確認します。 |
time.locatime |
ローカル タイム ゾーンで時刻を取得します。 |
time.gmtime |
UTC に変換します。 |
time.getlocal |
ローカル タイム ゾーンで新しい時間オブジェクトを取得します。 |
time.getutc |
UTC で新しい時間オブジェクトを取得します。 |
時刻と日付をフォーマットしたい場合、日付と時刻をフォーマットする方法はたくさんあります。
コード例:
# Ruby
time = Time.new
puts time.to_s
puts time.ctime
puts time.localtime
puts time.strftime("%Y-%m-%d %H:%M:%S")
出力:
時間フォーマット指令
次のディレクティブはメソッド time で使用されます。
略語 | 説明 |
---|---|
%a と %A |
%a は曜日名 (Sun ) に使用され、%A は完全な曜日名 (Sunday ) に使用されます。 |
%b と %B |
%b は月名 (Jan ) に使用され、%B は完全な月名 (January ) に使用されます。 |
%c |
優先される現地の日付と時刻の表現。 |
%d |
01 から 31 までの日を使用します。 |
%H |
00 から 23 までの 1 時間に使用されます。 |
%I |
1 日の 1 時間 (01 から 12 ) に使用されます。 |
%j |
年間通算日 (001 から 336 ) に使用されます。 |
%m と %M |
%m は 01 から 12 までの月に使用され、%M は 00 から 59 までの分に使用されます。 |
%p |
子午線インジケータ、AM または PM に使用されます。 |
%S |
00 から 60 までの秒に使用されます。 |
%U |
00 から 53 の範囲で、最初の週の最初の日として最初の日曜日に使用されます。 |
%w と %W |
%w は 0 から 6 (日曜日は 0 ) の範囲の曜日に使用され、%W は からの最初の週の最初の日として最初の月曜日に使用されます。 00 から 53 まで。 |
%x と %X |
%x は日付のみに使用され、%X は時刻のみに使用されます。 |
%y と %Y |
%y は世紀のない年 (00 から 99 まで) に使用され、%Y は世紀の年に使用されます。 |
%z |
タイムゾーンに使用されます。 |
%% |
リテラル % 文字に使用されます。 |
Ruby の時間演算
次のような、時間に関する簡単な計算を行うことができます。
コード例:
# Ruby
now = Time.now
puts now
past = now - 10
puts past
future = now + 10
puts future
diff = future - past
puts diff
出力: