MENU

Ruby 時間の扱い方

Rails 時間の扱いについて

対象の読者

時間を扱うときに、毎回時間に時間に関して調べてしまう人向け

要点

下記の2点だけ理解しておけば今後は迷わなくなる

  1. 時間に関するデータ型は2つ、datetime(年日時間) date型(年日)

月日はDateクラスだけ 年月日時は DateTime Timeだけ

年のありなしは利用用途に応じて選択すれば良い

  1. タイムゾーン

これは、世界の標準の時間(協定世界時)があって、日本はどれくらいの時間差があるのか、 を知って置く必要がみたい 日本は+9時間。

rubyの場合

## JSTはJapan Standard Timeの略らしい
[11] pry(main)> Time.zone.now
=> Sun, 19 Dec 2021 22:28:04 JST +09:00

## zoneをつけない
[12] pry(main)> Time.now
=> 2021-12-19 22:29:43 +0900

zoneをつけると下記の time_zoneのをUTC協定世界時)に変える

    config.time_zone = 'UTC'
    config.active_record.default_timezone = :local


## + 9時間されていない
[1] pry(main)> Time.zone.now
=> Sun, 19 Dec 2021 13:33:21 UTC +00:00 ## 日本時間 22:34