Как добавить номер к дате ruby - PullRequest
0 голосов
/ 29 января 2019

У меня есть метод:

def date_of_next()
 date = Date.parse('Monday')
 delta = date > Date.today ? 0 : 7
 date + delta
 return date.strftime('%Y-%w-%d'), (date + 7).strftime('%Y-%w-%d')
end

Этот метод указывает дату понедельника на этой неделе.В свою очередь, я также возвращаю дату понедельника на следующей неделе, но он не отображает дату, которая должна быть

, если я запускаю этот метод в файле .rb, тогда он печатает все хорошо

 2019-01-28
 2019-02-4

но если запустить этот метод в контроллере rails, возникла проблема с датой

2019-01-28
2019-01-04

Как видите, проблема с датой месяца.Я не понимаю в чем проблема, помогите

Ответы [ 2 ]

0 голосов
/ 29 января 2019

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

 def beginning_of_weeks
   monday = Date.new.beginning_of_week
   return monday, monday + 7.days
 end

Конечно, вы можете добавить функцию форматирования strftime('%Y-%m-%d')внутри метода, хотя это было бы лучше организовано где-то еще.

0 голосов
/ 29 января 2019

Может быть, вы смешали формат даты?

def date_of_next()
 date = Date.parse('Monday')
 delta = date > Date.today ? 0 : 7
 date + delta
 return date.strftime('%Y-%m-%d'), (date + 7).strftime('%Y-%m-%d')
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...