Как получить дату «этой среды», «этого четверга» и др. c. в рельсах - PullRequest
1 голос
/ 24 января 2020

Я знаю, что в Rails есть элегантный способ получения дат для определенного дня недели на следующую неделю или на последнюю неделю ( документы ).

today = Time.zone.today
=> Fri, 24 Jan 2020

today.next_week
=> Mon, 27 Jan 2020 # Gets Monday by default

today.next_week(:thursday)
=> Thu, 30 Jan 2020 # You can get a certain day of the week by passing it in as an argument

Есть ли способ сделать то же самое на этой неделе? Например, получение даты этого четверга, пятницы и т. Д. c.? Прямо сейчас мой обходной путь - получить дату beginning_of_week (понедельник) и рассчитать оттуда. В идеале я хотел сделать что-то похожее на выше, например Time.zone.today.this_week(:thursday).

this_monday = Time.zone.today.beginning_of_week
=> Mon, 20 Jan 2020

this_friday = this_monday.since(4.days).to_date
=> Fri, 24 Jan 2020

1 Ответ

2 голосов
/ 24 января 2020

Вы можете использовать #next_occurring

pry(main)> Time.zone.today.beginning_of_week
Mon, 20 Jan 2020
pry(main)> Time.zone.today.beginning_of_week.next_occurring(:thursday)
Thu, 23 Jan 2020
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...