我需要在今天之前获得一个月,但总是以15日结束日期。
即如果今天是2014年3月11日,我需要=> 2014年2月15日。
或者如果日期是2014年3月28日,我需要=> 2014年2月15日。
我怎样才能做到这一点?
答案 0 :(得分:3)
因为您正在使用rails:
(DateTime.now - 1.month).beginning_of_month + 14.days
有关详细信息,请参阅DateTime documentation。
修改:已更新,以反映上个月的第15天。
答案 1 :(得分:2)
(Date.today - 1.month).beginning_of_month + 14
或其他方式
(Date.today - 1.month).change(day: 15)
答案 2 :(得分:1)
你可以创建一个新的日期对象,其中包含上个月的年份和月份数字以及15个日期:
today = Date.today
one_month_ago = (today - 1.month)
Date.civil(one_month_ago.year, one_month_ago.month, 15)
答案 3 :(得分:1)
这样做:
Date.today.prev_month.beginning_of_month + 14 # => Sat, 15 Feb 2014
答案 4 :(得分:1)
使用
(Date.today<<1).beginning_of_month + 14 ## => Sat, 15 Feb 2014
或者
Date.today.last_month.beginning_of_month + 14 ## => Sat, 15 Feb 2014