Ruby on rails 在ruby或rails中减去日期
我有以下资料:Ruby on rails 在ruby或rails中减去日期,ruby-on-rails,ruby,Ruby On Rails,Ruby,我有以下资料: due_date = Date.parse '2020-07-18 00:00:00 -0700' today_date = Time.now (due_date - today_date).to_i 我首先将日期字符串(这是一个字符串,不是ActiveRecord datetime对象)转换为日期对象 然后我使用Time.now创建了一个新的日期对象,但是当我尝试减法时,我得到了一个错误: (请注意,我在Rails控制台中运行此操作): 我想我可以减去两个日期对象,得出天数差
due_date = Date.parse '2020-07-18 00:00:00 -0700'
today_date = Time.now
(due_date - today_date).to_i
我首先将日期字符串(这是一个字符串,不是ActiveRecord datetime对象)转换为日期对象
然后我使用Time.now创建了一个新的日期对象,但是当我尝试减法时,我得到了一个错误:
(请注意,我在Rails控制台中运行此操作):
我想我可以减去两个日期对象,得出天数差。有什么想法吗?日期和时间不是同一个类,所以你不能从另一个中减去一个 尝试改用DateTime,或者使用
to_date
将时间强制为日期
due_date = DateTime.parse '2020-07-18 00:00:00 -0700'
today_date = DateTime.current
(due_date - today_date).to_i
还要小心使用Time.now,因为它不支持时区()这是否回答了您的问题?不,但elilitt提供的答案很酷!很高兴这样做。这解决了问题。谢谢你,谢谢你给我的时间提示
due_date = DateTime.parse '2020-07-18 00:00:00 -0700'
today_date = DateTime.current
(due_date - today_date).to_i