在Ruby中,将格式为"{ 2009, 4, 15 }"
的字符串转换为日期,最好的方法是什么?
你也可以使用 Date.strptime
:
Date.strptime("{ 2009, 4, 15 }", "{ %Y, %m, %d }")
begin
和 rescue ArgumentError
中,在这种情况下返回 nil
,这样做有什么问题吗? - robinsts = "{ 2009, 4, 15 }"
d = Date.parse( s.gsub(/, */, '-') )
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
另一种方式:
Date.new(*"{ 2009, 04, 15 }".scan(/\d+/).map(&:to_i))