rails split未按预期工作

时间:2016-02-10 11:57:29

标签: ruby-on-rails ruby parsing time

我使用导轨splitsplit时间了。

我有这个:

MM = time.split(':')[1]
HH = time.split(':')[0]

时间有这个:

19:30:00

我只想要

19:30

如果我HH + ':' + MM我应该恢复格式我想要正确吗?

如果我在byebug中手动分割,我可以将eventhign恢复正常。

但如果我在byebug做HH,我会得到

*** NameError Exception: undefined local variable or method `HH' for main:Object

nil

然而MM工作正常吗?

想法?

2 个答案:

答案 0 :(得分:2)

您正在寻找Time#strftime

 Time.parse('19:30:00').strftime('%H:%M')
 #=> "19:30"

答案 1 :(得分:0)

由于这已经是一个字符串,我会使用正则表达式:

time.match(/(.*):/)[1]

在我做的快速基准测试中,这比使用Time.parse

快近20倍