Bagaimana cara mendapatkan Tanggal / waktu saat ini dalam format DD / MM / YYYY JJ: MM?


115

Bagaimana saya bisa mendapatkan tanggal dan waktu sekarang dalam DD/MM/YYYY HH:MMformat dan juga kenaikan bulan?

Jawaban:


184

Pemformatannya dapat dilakukan seperti ini (saya berasumsi yang Anda maksud adalah HH: MM, bukan HH: SS, tetapi mudah diubah):

Time.now.strftime("%d/%m/%Y %H:%M")
#=> "14/09/2011 14:09"

Diperbarui untuk perpindahan:

d = DateTime.now
d.strftime("%d/%m/%Y %H:%M")
#=> "11/06/2017 18:11"
d.next_month.strftime("%d/%m/%Y %H:%M")
#=> "11/07/2017 18:11"

Anda perlu require 'date'untuk btw ini.


ya, Anda benar, maksud saya hh: mm, dan terima kasih banyak atas jawaban Anda
anonim

tapi bagaimana saya bisa menambah bulan?
anonim

Periksa apakah Anda dapat menggunakan permata ini rubygems.org/gems/formatted_times
ravi1991

Mengonversi ke string lalu parsing tidak ideal.
Chuck Batson

1
@ChuckBatson Ini tentang pergeseran, bukan saran bahwa ini adalah cara terbaik untuk mendapatkan Dateobjek. Bagaimanapun, saya mengambil komentar Anda sebagai kesempatan untuk akhirnya memperbarui jawaban ini untuk versi Ruby saat ini.
Michael Kohl

25
require 'date'

current_time = DateTime.now

current_time.strftime "%d/%m/%Y %H:%M"
# => "14/09/2011 17:02"

current_time.next_month.strftime "%d/%m/%Y %H:%M"
# => "14/10/2011 17:02"

1
Saya menemukan ini jauh lebih sederhana dan lebih mudah dibaca daripada solusi yang diterima.
skagedal

7
time = Time.now.to_s

time = DateTime.parse(time).strftime("%d/%m/%Y %H:%M")

untuk penggunaan bulan increment decrement << >>

contoh

datetime_month_before = DateTime.parse(time) << 1



datetime_month_before = DateTime.now << 1

4

Untuk tanggal:

#!/usr/bin/ruby -w

date = Time.new
#set 'date' equal to the current date/time. 

date = date.day.to_s + "/" + date.month.to_s + "/" + date.year.to_s
#Without this it will output 2015-01-10 11:33:05 +0000; this formats it to display DD/MM/YYYY

puts date
#output the date

Di atas akan ditampilkan, misalnya, 10/01/15

Dan untuk waktu

time = Time.new
#set 'time' equal to the current time. 

time = time.hour.to_s + ":" + time.min.to_s
#Without this it will output 2015-01-10 11:33:05 +0000; this formats it to display hour and           minute

puts time
#output the time

Di atas akan ditampilkan, misalnya 11:33

Kemudian untuk menyatukannya, tambahkan ke bagian akhir:

puts date + " " + time
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.