Ruby:将字符串转换为日期

时间:2010-04-27 11:58:13

标签: ruby string date

在Ruby中,将格式字符串"{ 2009, 4, 15 }"转换为日期的最佳方法是什么?

4 个答案:

答案 0 :(得分:126)

您也可以使用Date.strptime

Date.strptime("{ 2009, 4, 15 }", "{ %Y, %m, %d }")

答案 1 :(得分:6)

另一种方式:

s = "{ 2009, 4, 15 }"
d = Date.parse( s.gsub(/, */, '-') )

答案 2 :(得分:2)

def parse_date(date)
  Date.parse date.gsub(/[{}\s]/, "").gsub(",", ".")
end

date = parse_date("{ 2009, 4, 15 }")
date.day
#=> 15
date.month
#=> 4
date.year
#=> 2009

答案 3 :(得分:0)

另一种方式:

Date.new(*"{ 2009, 04, 15 }".scan(/\d+/).map(&:to_i))