如何计算两个日期的月差?此外,如果它有所作为,我正在使用 Date 对象,而不是 DateTime。此外,一些舍入选项可能会很好,这样我就可以控制是否要对部分月份进行向上或向下舍入。
谢谢!
最佳答案
从一个 Date 或 DateTime 中减去另一个 Date 或 DateTime 将得到天数的分数,但这可以根据需要评估为 Float
或 Fixnum
。
例如:
(Date.today - Date.today.advance(:months => -3)).to_f
# => 89.0
今天与三个月前的同一日历日期之间相隔 89.0 天。如果您使用 30 天的月份或平均 30.4375 个月来计算,那么您最终会得到从那时到现在已经过去 2.92 个月,或者四舍五入到最接近的整数 3。
如果您想计算精确的日历月数,那会比较棘手,但可以做到。
关于ruby-on-rails - Rails 以月为单位计算日期范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5887756/