Reputation: 305
My string is: "02-19-2016"
, which is date in MM-DD-YYYY format. It's giving proper result for some scenarios, but for some, its failing like:
@query="02-19-2016"
d, m, y = @query.split '-'
# => ["02", "19", "2016"]
Date.valid_date? y.to_i, m.to_i, d.to_i
# => false
Can someone give any solution?
Upvotes: 0
Views: 61
Reputation: 106882
Date.strptime
was build to parse strings by a certain pattern:
require 'date'
Date.strptime("02-19-2016", '%m-%d-%Y')
#<Date: 2016-02-19 ((2457438j,0s,0n),+0s,2299161j)>
Upvotes: 2
Reputation: 3310
require 'date'
m, d, y = '02-19-2016'.split('-').map(&:to_i)
# => [2, 19, 2016]
Date.valid_date? y, m, d
# => true
date = Date.civil(y, m, d)
# => #<Date: 2016-02-19 ((2457438j,0s,0n),+0s,2299161j)>
Upvotes: 0