正确输出时间

时间:2016-04-08 17:53:30

标签: ruby time

当你在Ruby中使用Time类时,如果时间低于10,它将丢弃零并仅输出相应的整数,例如:

def time_test
  t = Time.now
  puts "#{t.hour}:#{t.min}:#{t.sec}"
end

5.times do
  time_test
  sleep(20)
end

#<= 11:48:24
#<= 11:48:44
#<= 11:49:4
#<= 11:49:24
#<= 11:49:44
#=> 5

现在我的问题是这个。假设我想在它所属的地方添加零,并希望有时间看,就像它在微波炉上一样(减去12小时时钟部分)。使用hour:min:sec

如果秒,分钟或小时低于10,我怎样才能使脚本输出为零?预期产出的例子:

#<= 11:48:24
#<= 11:48:44
#<= 11:49:04 #<=
#<= 11:49:24
#<= 11:49:44
#=> 5

2 个答案:

答案 0 :(得分:1)

使用Time#strftime

Time.now.strftime("%T")
# => "03:00:42"

答案 1 :(得分:1)

您可以使用strftime方法。

 Time.now.strftime("%H:%M:%S")

或更简洁

Time.now.strftime("%T")

我使用了this documentation