Rubyで現在の日付と月を特定の形式で取得するにはどうすればよいですか?
今日が 2012 年 6 月 8 日の場合、取得したいのは です201206
。
また、 201212で次の月が201301になることを考慮して、現在の月から次の月を取得できるようにしたいと思います。
私は次のようにします:
require 'date'
Date.today.strftime("%Y%m")
#=> "201206"
(Date.today>>1).strftime("%Y%m")
#=> "201207"
Date#>>の利点は、特定のことを自動的に処理することです。
Date.new(2012,12,12)>>1
#=> #<Date: 2013-01-12 ((2456305j,0s,0n),+0s,2299161j)>
今月:
date = Time.now.strftime("%Y%m")
来月:
if Time.now.month == 12
date = Time.now.year.next.to_s + "01"
else
date = Time.now.strftime("%Y%m").to_i + 1
end
Ruby 2 以降、「next_month」は 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
そのようなものにはhttp://strfti.me/を使用してください
strftime "%Y%m"
Ruby 2 Plus と Rails 4 Plus。
以下の関数を使用すると、必要な結果を見つけることができます。
Time.now #current time according to server timezone
Date.today.strftime("%Y%m") # => "201803"
Date.today.next_month.strftime("%Y%m") # => "201804"