我遇到了一个问题。如何转换日期字符串:
["2010/03/30", "15/12/2016", "11-15-2012", "20130720"]
收件人:
["20100330", "20161215", "20121215", "20130720"]
答案 0 :(得分:1)
大多数可以用Date.parse
解析。但是它并不能全部理解。
2.4.4 :013 > Date.parse("11-15-2012")
ArgumentError: invalid date
from (irb):13:in `parse'
from (irb):13
from /Users/schwern/.rvm/rubies/ruby-2.4.4/bin/irb:11:in `<main>'
对于任何不了解的内容,您都可以从ArgumentError中解救出来,然后尝试使用strptime进行自己的解析。
require 'date'
def parse_date(date)
Date.parse(date)
rescue ArgumentError
Date.strptime(date, '%m-%d-%Y')
end
dates = ["2010/03/30", "15/12/2016", "11-15-2012", "20130720"]
puts dates.map { |date| parse_date(date) }
答案 1 :(得分:0)
dates = ["2010/03/30", "15/12/2016", "11-15-2012", "20130720"]
dates = dates.map{|date| date.tr("/-","")} # runs through every string in the array and replaces the stuff