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?

anonim
sumber

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.

Michael Kohl
sumber
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"
Lars Haugseth
sumber
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
Fivell
sumber
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
joe_young
sumber