Я использую эту строку, чтобы получить время начала первого дня месяца.
t = Time.now.to_date.beginning_of_month.beginning_of_day
Когда я отображаю это, используя t.strftime("%A %b %e @ %l:%m %p")
показывает:
Monday Feb 1 @ 12:02 AM
Час всегда 12 (вместо 00), и более странно, что минуты меняются, чтобы соответствовать месяцу в целых числах. На февральскую дату он показывает 12:02 AM
Я использую .prior_month
и .next_month
для переменной, чтобы двигаться вперед или назад во времени.
Поэтому, когда я перееду в июнь, это будет отображаться как
Tuesday June 1 @ 12:06 AM
Но когда я просто показываю значение t
с использованием прямой t.to_s
, я получаю это время 00:00:00, что я и ожидаю:
Mon Feb 01 00:00:00 -0700 2010
Аналогичная ошибка возникает при использовании end_of_day, но час всегда 11 часов вечера.
и минута - это то же самое целочисленное значение, которое соответствует месяцу в целых числах, т.е.
время в 11:06 вечера в июне, 23:02 вечера в феврале.
Quirky?
По общему признанию нуб к Rails.
Спасибо за любые комментарии или объяснения.