上个月有没有内置功能,和今天一样?示例:如何在ruby中获取上个月的今天的日子?
2010/05/02 -> 2010/04/02
2010/05/15 -> 2010/04/15
2010/05/31 -> 2010/04/30
谢谢!
上个月有没有内置功能,和今天一样?示例:如何在ruby中获取上个月的今天的日子?
2010/05/02 -> 2010/04/02
2010/05/15 -> 2010/04/15
2010/05/31 -> 2010/04/30
谢谢!
Ruby's date class允许您从特定日期加减日。
你可以例如设置定时对象
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。
您可以尝试使用
Time.parse('2010/05/31').months_since(-1)
。
你可以这样做:
(Date.today - 1.month).strftime("%Y/%m/%d")
我不知道上面提到的'<<'运算符,但老实说' - 1.month'更具可读性。 – jwadsack 2014-02-28 17:26:35
什么是标准的'2010/04/30'是 “相同的” 为'2010/05/31'? :) – deceze 2010-05-10 03:29:22
如果上个月没有与当前月份一样大的日期,请使用_that_月的最大日期数字。也应考虑闰年,即大多数2月份的最后一天是28日,而有些则是29日。 thx – ohho 2010-05-10 04:08:53