GG / AA / YYYY SS: DD biçiminde geçerli Tarih / saati nasıl alabilirim?


116

Güncel tarih ve saati nasıl DD/MM/YYYY HH:MMformatta alabilirim ve ayrıca ayı nasıl artırabilirim ?

Yanıtlar:


185

Biçimlendirme şu şekilde yapılabilir (HH: SS yerine HH: MM'yi kastettiğinizi varsaydım, ancak değiştirilmesi kolaydır):

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

Vites değiştirme için güncellendi:

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"

require 'date'Bu btw için ihtiyacınız var .


evet haklısın, yani hh: mm ve cevabın için çok teşekkürler
isimsiz

ama ayı nasıl artırabilirim?
anonim

Bu mücevheri kullanıp
ravi1991

Dizeye dönüştürmek ve sonra ayrıştırmak ideal değildir.
Chuck Batson

1
@ChuckBatson Bu, bir Datenesneyi elde etmenin en iyi yolu olduğuna dair bir öneri değil, değişimle ilgiliydi . Her neyse, yorumunuzu nihayet mevcut Ruby sürümleri için bu cevabı güncelleme fırsatı olarak değerlendirdim.
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
Bunu kabul edilen çözümden çok daha basit ve daha okunaklı buluyorum.
skagedal

7
time = Time.now.to_s

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

artış azaltma ay kullanımı için << >> operatörleri

örnekler

datetime_month_before = DateTime.parse(time) << 1



datetime_month_before = DateTime.now << 1

4

Tarih için:

#!/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

Yukarıda, örneğin 10/01/15 görüntülenecektir.

Ve zaman için

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

Yukarıdakiler, örneğin, 11:33

Sonra bir araya getirmek için sonuna ekleyin:

puts date + " " + time
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.