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

Getting time between two dates using DateTime

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

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

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

时也会出现参数错误

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

日期时间 class 有一个解析方法

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 returns 一个 DateTime object.You 应该能够在解析后减去它们。