1. ホーム
  2. ruby

[解決済み] RubyでDateTimeの時間部分を設定する

2022-09-19 18:20:15

質問

例えば、次のような datetime オブジェクトがあるとします。 DateTime.now . 私は時間と分を0(真夜中)に設定したいです。 どのように私はそれを行うことができますか?

どのように解決するのですか?

Railsの環境内で。

おかげさまで ActiveSupport を使用することができます。

DateTime.now.midnight
DateTime.now.beginning_of_day

または

DateTime.now.change({ hour: 0, min: 0, sec: 0 })

# More concisely
DateTime.now.change({ hour: 0 })                

純粋なRuby環境内で。

now = DateTime.now
DateTime.new(now.year, now.month, now.day, 0, 0, 0, now.zone)

または

now = DateTime.now
DateTime.parse(now.strftime("%Y-%m-%dT00:00:00%z"))