Date#<=> is a Date class method which compares two date objects.
Syntax: Date<=>b
Parameter: Date values
Return: 1 if a is greater than b
-1 if a is less than b
0 if a equals b
Example #1 :
require 'date'
a = Date. new ( 2019 , 1 , 1 )
b = Date.jd( 2452004 )
c = Date.ordinal( 2019 , 12 )
puts "Date a : #{a}\n\n"
puts "Date b : #{b}\n\n"
puts "Date c : #{c}\n\n\n\n"
puts "Date a <=> form : #{a <=> c}\n\n"
puts "Date b <=> form : #{b <=> Rational(10, 2)}\n\n"
puts "Date c <=> form : #{c <=> Rational(10, 4)}\n\n"
|
Output :
Date a : 2019-01-01
Date b : 2001-04-04
Date c : 2019-01-12
Date a form : -1
Date b form : 1
Date c form : 1
Example #2 :
require 'date'
a = Date.parse( '2019-01-01' )
b = Date.strptime( '03-12-2019' , '%d-%m-%Y' )
c = Date.commercial( 2019 , 5 , 6 )
puts "Date a : #{a}\n\n"
puts "Date b : #{b}\n\n"
puts "Date c : #{c}\n\n\n\n"
puts "Date a <=> form : #{a <=> c}\n\n"
puts "Date b <=> form : #{b <=> Rational(10, 2)}\n\n"
puts "Date c <=> form : #{c <=> Rational(10, 4)}\n\n"
|
Output :
Date a : 2019-01-01
Date b : 2019-12-03
Date c : 2019-02-02
Date a form : -1
Date b form : 1
Date c form : 1