gpt4 book ai didi

ruby-on-rails - Rails Time.now.end_of_month 不考虑闰年

转载 作者:数据小太阳 更新时间:2023-10-29 08:49:50 26 4
gpt4 key购买 nike

我正在尝试创建一个每月运行的循环,但我注意到我的逻辑没有考虑闰年。

我试过:

newDate = (Time.now.beginning_of_month.to_date - 2.months) + 3.years

newDate = (Time.now.to_date - 2.months).end_of_month + 3.year

它们都返回 2016 年 2 月 28 日,星期日

为什么他们不考虑闰年并返回 2 月 29 日?

注意:这个问题是在 2013 年 3 月 31 日提出的,代码在另一天可能会有所不同。

最佳答案

这是因为计算会计算当年的月末,然后加上 3 年。

(Time.now.beginning_of_month.to_date - 1.month) = 28,2013 年 2 月。加上 3 年,你得到 28,2016 年 2 月。

试试这个 -

((Time.now.beginning_of_month.to_date - 1.month) + 3.years).end_of_month

顺便说一句,减去 2 个月就到了 1 月(这里仍然是 3 月 31 日)

关于ruby-on-rails - Rails Time.now.end_of_month 不考虑闰年,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15730850/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com