【发布时间】:2026-01-06 22:50:01
【问题描述】:
我正在尝试为报告设置一些日期变量,因此我正在尝试日期计算。
yesterday = DateTime.yesterday()
2015 年 7 月 10 日
yesterday.beginning_of_week
于 2015 年 7 月 5 日返回,即上周日。
(yesterday.beginning_of_week - 1.days).beginning_of_week
返回 2015 年 7 月 1 日,即前一个星期三。这似乎是错误的。
(yesterday.beginning_of_week - 5.days).beginning_of_week
最终于 2015 年 6 月 28 日返回。这是正确的。
出于某种我不知道的原因,每月的第一天应该自动成为一周的开始吗?谢谢...
编辑——更多信息
Date.beginning_of_week
返回:星期一
Date.new(2015, 7, 2).at_beginning_of_week
返回 2015 年 6 月 29 日,预计是星期一。
【问题讨论】:
-
我无法复制这些;
yesterday的值是多少?当然,我的一周从星期一开始。 -
@DaveNewton 我昨天添加的。我也在考虑将周初设置为星期一,但还没有完成。我很惊讶我的默认为星期日,因为文档似乎另有说明。
-
我仍然无法使用
b_o_w(:sunday)欺骗b_o_ws。 -
@DaveNewton 如果我将昨天设置为 2015 年 7 月 2 日,那么一周的开始时间仍然是 2015 年 7 月 1 日。
-
@DaveNewton 我在 ActiveSupport 4.2.1 上。你的版本是什么?不能重复,你的意思是你得到的预期日期是 2015 年 6 月 28 日?嗯...
标签: ruby-on-rails date datetime