2017-08-17 7 views
0

2つの日付の違いをチェックし、24時間以上あるかどうかを確認する必要があります。日付オブジェクトのto_timeメソッドを呼び出す際に問題があります。このto_timeメソッドは、現在の日付が00:00:00に設定されている場合は分と秒を設定しています。2つの日付間のルビーの違い

例:

date = Date.rfc3339('2017-08-16T17:55:49.000-03:00') 
=> #<Date: 2017-08-16 ((2457982j,0s,0n),+0s,2299161j)> 
date.to_time 
2017-08-16 00:00:00 -0300 
((Date.today.to_time - date.to_time)/3600).round 
=> 24 

答えて

3

DateTimeが含まれていません。代わりにDateTimeを使用してください。

require 'date' 

dt = DateTime.rfc3339('2017-08-16T17:55:49.000-03:00')  
puts (Time.now - dt.to_time)/(60*60) > 24 
1

あなたは行うことができます。

datetime_1 = DateTime.parse("2017-08-17T13:36:03-04:00") 
datetime_2 = DateTime.parse("2017-08-16T13:33:03-04:00") 
greatest_datetime = [datetime_1, datetime_2].max 
smallest_datetime = [datetime_1, datetime_2].min 
(greatest_datetime - 1.day) > smallest_datetime 
関連する問題