Ответ 1
Как насчет использования String.format (%) оператора? Вот так:
x = '%02d' % t.hour
puts x # prints 07 if t.hour equals 7
Я смотрю
http://corelib.rubyonrails.org/classes/Time.html#M000245
как я могу получить двухзначный час и минуты от объекта времени
Давайте скажем, что я делаю
t = Time.now
t.hour // this returns 7 I want to get 07 instead of just 7
для
t.min // // this returns 3 I want to get 03 instead of just 3
Спасибо
Как насчет использования String.format (%) оператора? Вот так:
x = '%02d' % t.hour
puts x # prints 07 if t.hour equals 7
Возможно, стоит посмотреть Time # strftime, если вы хотите поместить свое время вместе в читаемую строку или что-то в этом роде.
Например,
t = Time.now
t.strftime('%H')
#=> returns a 0-padded string of the hour, like "07"
t.strftime('%M')
#=> returns a 0-padded string of the minute, like "03"
t.strftime('%H:%M')
#=> "07:03"
Вы можете попробовать это!
Time.now.to_formatted_s(:time)
Стоит отметить, что вы можете хотеть часы для определенного часового пояса.
Если часовой пояс уже установлен (либо глобально, либо вы находитесь внутри блока):
Time.current.to_formatted_s(:time)
Для установки часового пояса:
Time.current.in_time_zone(Location.first.time_zone).to_formatted_s(:time)
Во всяком случае, to_formatted_s
на самом деле является псевдонимом to_s
.
Time.now.to_s(:time)