使用DateTime获取两个日期之间的时间

时间:2015-02-26 03:33:02

标签: ruby git parsing date datetime

我的任务是编写一个Ruby程序来读取git日志文件,并根据提交之间的时间确定项目的长度。在完成所有内容处理后,日期行的格式如下所示:

date = "Sun Jan 26 21:25:22 2014 -0600"

我查看了DateTime类,但无法弄清楚如何将此字符串转换为对象。我能看到的最接近的格式是httpDate但是即使我将字符串拆分成单独的部分并将它们重新排列为相同的顺序,我在调用DateTime.httpdate(date)时会出现参数错误

如何将日期转换为DateTime对象并从另一个对象中减去?

1 个答案:

答案 0 :(得分:1)

Datetime类有一个解析方法

DateTime.parse

DateTime.parse('2001-02-03T04:05:06+07:00')
                          #=> #<DateTime: 2001-02-03T04:05:06+07:00 ...>
DateTime.parse('20010203T040506+0700')
                          #=> #<DateTime: 2001-02-03T04:05:06+07:00 ...>
DateTime.parse('3rd Feb 2001 04:05:06 PM')
                          #=> #<DateTime: 2001-02-03T16:05:06+00:00 ...>

DateTime.parse接受一个字符串a返回一个DateTime对象。你应该能够在解析它们之后减去它们。