我正在解析一个日志,想要一种计算下面这些时间戳之间差异的优雅方法:
[2010年3月2日上午1:54:40] [2010年3月4日下午10:54:40]
我看过DateTime但是我不确定是否需要从实际时间部分分隔Date并创建一个Time对象。如果有更简单的方法请开火。
的问候。 活泼的
答案 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]