使用Ruby计算从日志时间戳开始经过的时间

时间:2010-03-09 10:37:43

标签: ruby timestamp datetime

我正在解析一个日志,想要一种计算下面这些时间戳之间差异的优雅方法:

[2010年3月2日上午1:54:40] [2010年3月4日下午10:54:40]

我看过DateTime但是我不确定是否需要从实际时间部分分隔Date并创建一个Time对象。如果有更简单的方法请开火。

的问候。 活泼的

2 个答案:

答案 0 :(得分:1)

使用chronic gem解析两次以获得两个时间对象,然后substract

答案 1 :(得分:1)

仅使用DateTime类:

require 'date'
d1, d2 = 'Mar 2, 2010 1:54:40 AM', 'Mar 4, 2010 10:54:40 PM'
diff = DateTime.parse(d2) - DateTime.parse(d1)
hours,minutes,seconds,frac = Date.send(:day_fraction_to_time, diff)
# => [69, 0, 0, 01]