Метод Rail_ end_of_month () всегда возвращает 30 как последнюю дату - PullRequest
0 голосов
/ 07 июня 2019

Я использую ruby ​​2.3.6 и rails 5.1 и хочу вернуть дату последнего месяца.По текущему времени это должно быть 31 мая 2019 года.

Итак, я использовал

DateTime.now.end_of_month.prev_month 

и получил

Sat, 30 May 2019 23:59:59 +0530

в качестве ответа, в то время как должно быть 31. Я также пробовал то же самое для марта и января.Есть идеи, почему это поведение?

Ответы [ 2 ]

2 голосов
/ 07 июня 2019

Попробуйте

DateTime.now.prev_month.end_of_month

Просто переключите два последних вызова

1 голос
/ 07 июня 2019

prev_month - метод, который не изменяет и не учитывает день или дату, а просто получает предыдущий месяц.

Вы можете проверить это, используя февраль месяц,

(DateTime.now.end_of_month - 4.month).prev_month
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...