ruby-on-rails - 在 Rails 中获取每个季度的第一个星期一

标签 ruby-on-rails ruby date

在 Ruby on Rails 中获取一年中每个季度的第一个星期一的最简洁方法是什么?

我发现的解决方案对我来说很糟糕: 检查今天是否是该月的前 7 天之一,然后检查今天是否是星期一,最后查看本月是否包含在该季度的 4 个月之一中。

我认为这应该是实现这一目标的更好方法。

最佳答案

这是我的方法:

first_day = Date.today.beginning_of_year
mondays = 4.times.map do |i|
  first_day_of_quarter = first_day.advance(months: 3 * i).beginning_of_quarter
  first_day_of_quarter.monday? ? first_day_of_quarter : first_day_of_quarter.next_week
end

# [0] Mon, 04 Jan 2021,
# [1] Mon, 05 Apr 2021,
# [2] Mon, 05 Jul 2021,
# [3] Mon, 04 Oct 2021

关于ruby-on-rails - 在 Rails 中获取每个季度的第一个星期一,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70288111/

相关文章:

ruby-on-rails - 为什么此代码不具有事务性?

ruby-on-rails - 第一个用户没问题但第三个用户出错?

ruby-on-rails - 如何为 Ruby on Rails 配置 Devise 以将电子邮件和密码存储在用户模型以外的其他位置?

ruby-on-rails - 如何比较 Controller 中的枚举模型属性?

ruby - 在 ruby​​ 中获取 Web 服务器证书

java - 我想在java中将字符串转换为日期

ruby - 将 https 用于 ruby​​gems 时出现 SSL 连接问题

ruby - 在大数据流中查找电子邮件地址

php - 带日期参数的 MySQL 查询

php - 如果生日在 MySQL 中存储为类型 "Date",您将如何确定今天在 PHP 中是否是用户的生日?