Получить текущий год и месяц (и в следующем месяце) в этом формате YYYYMM в Ruby
Как получить текущую дату и месяц в Ruby в определенном формате?
Если сегодня 8 июня 2012 года, я хочу получить 201206
.
А также, я хотел бы иметь возможность получить следующий месяц от того, с которым мы находимся, принимая во внимание, что в 201212 следующий месяц будет 201301.
Ответы
Ответ 1
Я бы сделал это вот так:
require 'date'
Date.today.strftime("%Y%m")
#=> "201206"
(Date.today>>1).strftime("%Y%m")
#=> "201207"
Преимущество Дата # " > заключается в том, что он автоматически заботится о вас для определенных вещей:
Date.new(2012,12,12)>>1
#=> #<Date: 2013-01-12 ((2456305j,0s,0n),+0s,2299161j)>
Ответ 2
Текущий месяц:
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
Ответ 3
Как и в Ruby 2, "next_month" - это метод в Date:
require "Date"
Date.today.strftime("%Y%m")
# => "201407"
Date.today.next_month.strftime("%Y%m")
# => "201408"
Ответ 4
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
Ответ 5
используйте http://strfti.me/ для такого рода материалов
strftime "%Y%m"