Comment puis-je obtenir la date et le mois actuels en Ruby dans un format spécifique?
Si nous sommes aujourd'hui le 8 juin 2012, je souhaite obtenir 201206
.
Et aussi, je voudrais pouvoir obtenir le mois prochain de celui dans lequel nous sommes, en tenant compte du fait que dans 201212 , le mois prochain serait 201301 .
Je le ferais comme ça:
require 'date'
Date.today.strftime("%Y%m")
#=> "201206"
(Date.today>>1).strftime("%Y%m")
#=> "201207"
L’avantage de Date # >> est qu’il s’occupe automatiquement de certaines choses:
Date.new(2012,12,12)>>1
#=> #<Date: 2013-01-12 ((2456305j,0s,0n),+0s,2299161j)>
Mois en cours:
date = Time.now.strftime("%Y%m")
Le mois prochain:
if Time.now.month == 12
date = Time.now.year.next.to_s + "01"
else
date = Time.now.strftime("%Y%m").to_i + 1
end
A partir de Ruby 2, "next_month" est une méthode sur Date:
require "Date"
Date.today.strftime("%Y%m")
# => "201407"
Date.today.next_month.strftime("%Y%m")
# => "201408"
require 'date'
d=Date.today #current date
d.strftime("%Y%m") #current date in format
d.next_month.strftime("%Y%m") #next month in format
utilisez http://strfti.me/ pour ce genre de choses
strftime "%Y%m"
Ruby 2 Plus et Rails 4 plus.
En utilisant les fonctions ci-dessous, vous pouvez trouver les résultats requis.
Time.now #current time according to server timezone
Date.today.strftime("%Y%m") # => "201803"
Date.today.next_month.strftime("%Y%m") # => "201804"