Ruby – 将字符串转换为日期

我有一个像“2011-06-02T23:59:59 + 05:30”这样的字符串。

我想将其转换为日期格式,只需要解析日期“2011-06-02”。

对于Ruby 1.9.2:

require 'date' # If not already required. If in Rails then you don't need this line). puts DateTime.parse("2011-06-02T23:59:59+05:30").to_date.to_s 
 require 'date' d = Date.parse("2011-06-02T23:59:59+05:30") d.strftime("%F") 

简化的方式是

 require 'date' date = "2011-06-02T23:59:59+05:30".gsub(/T.*/, '') DateTime.parse(date) 

Time.parse()应该允许您解析整个日期时间。 然后,您可以使用time.strftime(string)将其格式化为字符串中的日期。

 date = Time.parse(“2011-06-02T23:59:59 + 05:30”)
 date_string = time.strftime(“%y-%m-%d”)
的
 date_string = time.strftime(“%F”)

(有关更多输出字符串格式,请参阅Ruby Doc for Time )如果您想要一个字符串,上面的内容应该可行; 如果你想要一个日期对象来处理那么ruby Date类可以帮助你处理它,但我相信仍然需要用Time对象完成所有事情; 有关Date类的详细信息,请参阅Ruby Doc for Date 。

希望有所帮助,让我知道如果我的答案走错了方向。