Saya perlu menggunakan DateTime.now untuk mengambil tanggal sekarang, dan "menghapus" waktu.
Misalnya, ini menunjukkan apa yang tidak saya inginkan:DateTime.now => Sat, 19 Nov 2011 18:54:13 UTC +00:00
Ini menunjukkan apa yang saya lakukan inginkan:DateTime.now.some_operation => 2011-11-06 00:00:00 UTC
ruby-on-rails
ruby
datetime
Mike
sumber
sumber
Jawaban:
Anda dapat menggunakan salah satu dari berikut ini:
DateTime.current.midnight
DateTime.current.beginning_of_day
DateTime.current.to_date
sumber
DateTime.now
tanpa zona. Lebih baik untuk menggunakan salah satuTime.zone.now
,DateTime.current
,DateTime.now.in_time_zone
,DateTime.now.utc
,DateTime.now.getlocal
,DateTime.now.iso8601
,DateTime.now.jisx0301
,DateTime.now.rfc3339
,DateTime.now.to_i
,DateTime.now.to_f
sebagai gantinya.Yang Anda butuhkan adalah fungsi strftime:
Time.now.strftime("%Y-%d-%m %H:%M:%S %Z")
sumber
%Y-%m-%d %H:%M:%S
data yang diformat karena itu akan membalikkan nilai bulan dan hariTentang apa
Date.today.to_time
?sumber
Jika Anda senang
require 'active_support/core_ext'
, maka Anda bisa menggunakanDateTime.now.midnight # => Sat, 19 Nov 2011 00:00:00 -0800
sumber
Anda dapat menggunakan hanya:
sumber
Jika Anda ingin tanggal hari ini tanpa waktu, gunakan saja
Date.today
sumber
Menemukannya. Ini bekerja:
sumber