【发布时间】:2011-02-11 14:18:28
【问题描述】:
我有一个 Time 对象,想查找下/上个月。由于每个月的天数不同,因此添加减去天数不起作用。
time = Time.parse('21-12-2008 10:51 UTC')
next_month = time + 31 * 24 * 60 * 60
增加月份也会下降,因为必须处理滚动
time = Time.parse('21-12-2008 10:51 UTC')
next_month = Time.utc(time.year, time.month+1)
time = Time.parse('01-12-2008 10:51 UTC')
previous_month = Time.utc(time.year, time.month-1)
我发现唯一有用的是
time = Time.parse('21-12-2008 10:51 UTC')
d = Date.new(time.year, time.month, time.day)
d >>= 1
next_month = Time.utc(d.year, d.month, d.day, time.hour, time.min, time.sec, time.usec)
有没有我没有看到的更优雅的方法? 你会怎么做?
【问题讨论】:
标签: ruby