Saya mencoba melakukan sesuatu seperti
Time.now + 5.days
tetapi itu tidak berhasil, meskipun samar-samar saya ingat pernah melihat, dan sangat terkesan, karena dapat melakukan sesuatu seperti 2.years
dll.
Bagaimana cara melakukannya di Rails 3?
ruby-on-rails
datetime
ruby-on-rails-3
activesupport
Yuval Karmi
sumber
sumber
Jawaban:
Menggunakan
atau bahkan
Keduanya pasti berhasil. Apakah Anda yakin Anda menggunakan Rails dan bukan hanya Ruby?
Jika Anda benar-benar berada di Rails, dari mana Anda mencoba menjalankan ini? Perhatikan bahwa Dukungan Aktif harus dimuat.
sumber
Time.now + 10.days
selalu mengambil zona waktu sistem Anda sedangkan10.days.from_now
akan mengambil zona waktu UTC jika tidak ada yang diatur dalam konfigurasi rel.Time.zone.now
sebagai penggantiTime.now
.days
,,years
dll., adalah bagian dari Dukungan Aktif, Jadi ini tidak akan berfungsiirb
, tetapi harus berfungsirails console
.sumber
require 'active_support/time'
di awal sesi atau sebelum Anda menggunakan perintahnyaIni pasti berfungsi dan saya menggunakan ini di mana pun saya perlu menambahkan hari ke tanggal sekarang:
sumber
Beberapa opsi lain, hanya untuk referensi
Cantumkan saja semua opsi yang saya tahu:
Jadi sekarang, apa bedanya jika kita peduli dengan zona waktu:
[1, 4]
Dengan zona waktu sistem[2, 3]
Dengan config zona waktu aplikasi Rails Anda[5]
Tanggal hanya tidak ada waktu yang disertakan dalam hasilsumber
Coba ini di Rails
Coba ini di Ruby
sumber
Coba ini di Ruby. Ini akan mengembalikan tanggal / waktu baru jumlah hari yang ditentukan di masa depan
sumber