我有来自用户输入的多个日期,例如:

MM-DD-YYYY

6-3-1975

MM/DD/YYYY

4/23/1967

使用内置的rubyrequire 'time'
并试图Time.parse("4/23/1967")
给我错误时间。rb:argument out of range
有什么解决方案可以用破折号或斜线来转换不同的用户输入?

最佳答案

解决方案:

require 'date'

userDate = "4-23-1967"
readDate = Date.strptime(userDate, "%m-%d-%Y")
convertedDate = readDate.strftime("%-m/%-d/%Y")
puts convertedDate

OUTPUT: 4/23/1967

10-05 20:17