【发布时间】:2018-08-19 08:20:33
【问题描述】:
我正在尝试针对特定时期进行报告,支持的时期是:
- “今天”:
start = DateTime.now.beginning_of_day; end = start.end_of_day - “本周”:
start = DateTime.now.beginning_of_week; end = start.end_of_week - “这两周”(上半月或下半月,相对于
DateTime.now的当前日期)-
非常重要的是要确保月份是平分的,不使用
cweek;第一个双周的开始应该是一个月的第一天,第二个双周的结束应该是这个月的最后一个。两者之间的划分日期应该是当月的总天数除以 2,四舍五入(即如果有 31 天,则第二个双周将从 15 日开始,而不是 14 日开始)。
-
非常重要的是要确保月份是平分的,不使用
- “本月”:
start = DateTime.now.beginning_of_month; end = start.end_of_month - “上个月”:
start = (DateTime.now - 1.month).beginning_of_month; end = start.end_of_month - “本季度”:一年中四个 3 个月期间中的一个,即季度。例如:从 1999 年 1 月 1 日到 1999 年 3 月 31 日或从 2000 年 10 月 1 日到 2000 年 12 月 31 日。
- “今年”=
start = DateTime.now.beginning_of_year --> end = start.end_of_year
我在根据当前日期计算粗体日期范围时遇到问题(假设DateTime.now)。
如何计算相对于当前日期DateTime.now 的双周和季度周期?
预期输出
日期为 2018 年 5 月 7 日(2018 年 5 月 7 日):
- “这两周”应该是
5/1/2018到5/15/2018的时间段 - “本季度”应该是
4/1/2018到6/30/2018的时期
对于 2020 年 2 月 29 日(2020 年 2 月 29 日)这一天,闰年:
- “这两周”应该是
2/15/2018到2/29/2018的时间段 - “本季度”应该是
1/1/2018到3/31/2018的时期
【问题讨论】:
标签: ruby-on-rails ruby date datetime