首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Ruby中获得以毫秒为单位的运行时间?

如何在Ruby中获得以毫秒为单位的运行时间?
EN

Stack Overflow用户
提问于 2009-09-12 20:00:11
回答 8查看 126K关注 0票数 102

如果我有一个从下面获取的Time对象:

Time.now

后来我用同一行实例化了另一个对象,我怎么能看到多少毫秒已经过去了呢?第二个对象可以在同一分钟、在接下来的几分钟甚至几个小时内创建。

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2009-09-12 13:06:00

如前所述,您可以像操作数值(或浮点)值一样对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

您将需要决定是否将其截断。

票数 140
EN

Stack Overflow用户

发布于 2011-06-21 12:40:44

您可以使用以下内容在上面的解决方案中添加一些语法糖:

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
票数 61
EN

Stack Overflow用户

发布于 2013-10-23 04:01:17

我认为答案选错了,这种方法给出的是秒,而不是毫秒。

t = Time.now.t­o_f
=> 1382471965.146

这里我假设浮点值是毫秒

票数 33
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1414951

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档