如何在Ruby中以毫秒为单位计时?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (92)

如果我有Time对象来自:

Time.now

稍后,我用这一行实例化另一个对象,如何查看已经传递了多少毫秒?第二个对象可以在同一分钟内创建,也可以在接下来的几分钟甚至几个小时内创建。

提问于
用户回答回答于

如前所述,可以对Time对象操作一下,

例如:

def time_diff_milli(start, finish)
   (finish - start) * 1000.0
end

t1 = Time.now
# arbitrary elapsed time
t2 = Time.now

msecs = time_diff_milli t1, t2

用户回答回答于

也可以在上面的解决方案中添加一些语法糖,如下:

class Time
  def to_ms
    (self.to_f * 1000.0).to_i
  end
end

start_time = Time.now
sleep(3)
end_time = Time.now
elapsed_time = end_time.to_ms - start_time.to_ms  # => 3004

扫码关注云+社区