给定字符串
“00:00:25 123”
在格式上
小时:分钟:sec,毫秒
我如何创建一个日期/时间对象,它允许我然后加减秒?
我对年、月、日、时区等不感兴趣。我只想使用小时、分钟、秒和毫秒组件。
发布于 2014-02-16 11:45:10
我会这样做:
require 'time'
s = "00:00:25,123"
t = Time.strptime(s,"%H:%M:%S,%L") # => 2014-02-16 00:00:25 +0530然后使用Time#+从t中添加/减去秒。
# add 20 seconds
t + 20 # => 2014-02-16 00:00:45 +0530
# subtract 20 seconds
t - 20 # => 2014-02-16 00:00:05 +0530如果要获得毫秒,请使用Time#subsec,如下所示:
require 'time'
s = "00:00:25,123"
t = Time.strptime(s,"%H:%M:%S,%L")
t.subsec # => (123/1000)发布于 2014-02-16 12:13:57
如果不需要日期部分,则不要使用Time或DateTime,只需将秒数作为浮动记录:
hours_str, minutes_str, seconds_str = s.split(':')
seconds = seconds_str.sub(',', '.').to_f
seconds += hours_str.to_i * 60 * 60
seconds += minutes_str.to_i * 60https://stackoverflow.com/questions/21810621
复制相似问题