Techioz Blog

Ruby: Time変数を午前0時に丸める方法

概要

Rubyで真夜中にTime変数を四捨五入するにはどうすればよいですか?

例として、次の Time 変数を取得するにはどうすればよいですか:

2020-01-07 00:00:00 UTC

こっちから?

2020-01-07 02:33:01 UTC

ありがとう

解決策

Time インスタンスを作成すると、変更することはできません。新しいインスタンスを作成する必要があります。与えられた:

require 'time'

t = Time.parse('2020-01-07 02:33:01 UTC')
#=> 2020-01-07 02:33:01 UTC

Time.utc を呼び出して、オブジェクトの年、月、日を渡すことができます。

Time.utc(t.year, t.month, t.day)
#=> 2020-01-07 00:00:00 UTC