I'm doing a date conversion using strptime and it is normalizing my data to always have 2020 as the year and I'm not sure why. Specifically:
value = "2015/03/21"
value2 = Date.strptime(value, '%m/%d/%y')
produces a result where value2 = "2020-03-21" How do I get Date.strptime() to appropriately reflect the year?
CodePudding user response:
In value year is first, month is second. You want to create date object from string, so to correctly parse you should use correct order:
value = "2015/03/21"
value2 = Date.strptime(value, '%Y/%m/%d')
=> Sat, 21 Mar 2015
CodePudding user response:
The second argument of strptime is the input format in which the date is provided not the expected output format. Therefore change it to:
value = "2015/03/21"
value2 = Date.strptime(value, '%Y/%m/%d')
#=> #<Date: 2015-03-21 ((2457103j,0s,0n), 0s,2299161j)>
