上个月是否有内置功能,与今天相同?例子:
2010/05/02 -> 2010/04/02
2010/05/15 -> 2010/04/15
2010/05/31 -> 2010/04/30
谢谢!
答案 0 :(得分:11)
您可以使用<<
减去整个月份。
>> d = Date.parse('2010-05-31')
=> #<Date: 4910695/2,0,2299161>
>> d.to_s
=> "2010-05-31"
>> (d<<1).to_s
=> "2010-04-30"
答案 1 :(得分:3)
您可以尝试使用
Time.parse('2010/05/31').months_since(-1)
。
答案 2 :(得分:3)
你可以这样做:
(Date.today - 1.month).strftime("%Y/%m/%d")
答案 3 :(得分:1)
例如,你可以制作一个时间对象
old_time = Time.now
然后根据
创建一个新的时间对象new_time = Time.local(old_time.year, (old_time.month - 1), old_time.day, old_time.hour, old_time.min, old_time.sec)
然而,正如deceze指出的那样,5/31成为4/30的标准是什么? 在irb,4/31'溢出'到5/01。
答案 4 :(得分:0)
Ruby date class允许您添加,减去特定日期的天数。