上個月有沒有內置功能,和今天一樣?示例:如何在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