0

我希望能够计算出两个日期之间的天数。一个日期是当前日期,另一个来自事件数据库。

到目前为止,我已经在我的模型中尝试过这个:

    this_date = DateTime.parse(self.date.to_s)
    the_date = Time.now
    between = (this_date.to_i - the_date.to_i)

这是另一个问题的建议(嗯,有点)。

数据库中的日期格式是 'YYYY/mm/dd',而且日期Time.now有很大不同,这是我无法计算出来的。

任何帮助,将不胜感激。谢谢

4

4 回答 4

1

模型中的 db 列是什么数据类型self.date?我注意到您将其转换为字符串,那么它最初是什么?如果它是 datetime 类型,那么您可以跳过DateTime.parse并直接比较两个日期以获得以秒为单位的差异:

difference = self.date - Time.now

然后有趣的部分是将差异转换为可用值。这个问题有一个很好的答案。

编辑:对于日期列,您可以执行以下操作:

difference = (self.date - Date.today).to_i

这会给你一整天的不同。

于 2013-05-23T14:08:07.317 回答
0

从表中选择 (unix_timestamp(first_date)-unix_timestamp(second_date))/84600

84600 是一天中的秒数 unix_timestamp 是自 1970-01-01 以来的日期,以秒为单位

所以你不需要 Ruby :-)

于 2013-05-23T14:07:39.350 回答
0
this_date = Date.parse self.date
remaing_days = (Date.today - this_date)
于 2013-05-23T14:09:10.863 回答
0

即使它得到了回答,但我正在发布我对这个问题的解决方案,这帮助我解决了我的问题。我用过:

Time.zone.now  > e.start && Time.zone.now  < e.end +  1.day 
于 2013-06-12T20:32:17.640 回答