我在看
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
由于
答案 0 :(得分:27)
如果你想把你的时间放在一个可读的字符串或类似的东西中,可能值得研究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"
答案 1 :(得分:19)
如何使用String.format(%)运算符?像这样:
x = '%02d' % t.hour
puts x # prints 07 if t.hour equals 7
答案 2 :(得分:10)
你可以试试这个!
Time.now.to_formatted_s(:time)
答案 3 :(得分:0)
值得一提的是,您可能需要特定时区的小时数。
如果已设置时区(无论是全局时区,还是您位于某个街区中):
Time.current.to_formatted_s(:time)
要设置时区内联:
Time.current.in_time_zone(Location.first.time_zone).to_formatted_s(:time)
答案 4 :(得分:0)
就其价值而言,to_formatted_s
实际上是to_s
的别名。
Time.now.to_s(:time)