2
def monday?
  require 'chronic'
  today = Date.today
  1st_monday = Chronic.parse('1st monday of this month', now: today.beginning_of_month).to_date
  3rd_monday = Chronic.parse('3th monday of this month', now: today.beginning_of_month).to_date
  return today == 1st_monday || today == 3rd_monday
end

我已经定义了这个方法来选择每个月的第一个或第三个星期一。今天出现了这个问题,因为 Chronic 选择 6 月 8 日作为本月的第一个星期一,这是错误的,因为 6 月 1 日是第一个星期一。知道如何解决这个问题吗?难道是因为我们这个月有五个星期一而让慢性病感到困惑吗?

4

1 回答 1

-1

似乎是慢性宝石中的一个错误。猜猜你必须使用这个解决方案:

month = Date.today.strftime('%B')
=>"June"

Chronic.parse("3st monday of this #{month}")

=> 2020-06-15 12:00:00 -0400
于 2020-06-08T17:35:11.140 回答