如何以特定格式获取Ruby中的当前日期和月份?
如果今天是2012年6月8日,我想获得201206
。
此外,我希望能够从下一个月开始,考虑到 201212 ,下个月 201301
答案 0 :(得分:33)
我会这样做:
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)>
答案 1 :(得分:15)
当月:
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
答案 2 :(得分:7)
从Ruby 2开始,“next_month”是Date上的方法:
require "Date"
Date.today.strftime("%Y%m")
# => "201407"
Date.today.next_month.strftime("%Y%m")
# => "201408"
答案 3 :(得分:3)
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
答案 4 :(得分:1)
使用http://strfti.me/来表达那种东西
strftime "%Y%m"
答案 5 :(得分:0)
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"