Convert Ruby Date to Integer Convert Ruby Date to Integer ruby ruby

Convert Ruby Date to Integer


t = Time.now# => 2010-12-20 11:20:31 -0700# Seconds since epocht.to_i#=> 1292869231require 'date'd = Date.today#=> #<Date: 2010-12-20 (4911101/2,0,2299161)>epoch = Date.new(1970,1,1)#=> #<Date: 1970-01-01 (4881175/2,0,2299161)>d - epoch#=> (14963/1)# Days since epoch(d - epoch).to_i#=> 14963# Seconds since epochd.to_time.to_i#=> 1292828400


Date cannot directly become an integer. Ex:

$ Date.today=> #<Date: 2017-12-29 ((2458117j,0s,0n),+0s,2299161j)>$ Date.today.to_i=> NoMethodError: undefined method 'to_i' for #<Date: 2017-12-29 ((2458117j,0s,0n),+0s,2299161j)>

Your options are either to turn the Date into a time then an Int which will give you the seconds since epoch:

$ Date.today.to_time.to_i=> 1514523600

Or come up with some other number you want like days since epoch:

$ Date.today.to_time.to_i / (60 * 60 * 24)  ### Number of seconds in a day=> 17529   ### Number of days since epoch


Time.now.to_i

returns seconds since epoch format