我有一个字符串,如“2011-06-02T23:59:59 + 05:30”。
我想将其转换为日期格式,只需解析日期“2011-06-02”。
答案 0 :(得分:27)
对于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
答案 1 :(得分:12)
require 'date'
d = Date.parse("2011-06-02T23:59:59+05:30")
d.strftime("%F")
答案 2 :(得分:2)
简化方式是
require 'date'
date = "2011-06-02T23:59:59+05:30".gsub(/T.*/, '')
DateTime.parse(date)
答案 3 :(得分:2)
Time.parse()应该允许你解析整个日期时间。然后,您可以使用time.strftime(string)将其格式化为字符串中的日期。
date = Time.parse("2011-06-02T23:59:59+05:30") date_string = time.strftime("%y-%m-%d") of date_string = time.strftime("%F")
(有关更多输出字符串格式,请参阅Ruby Doc for Time) 如果你想要一个字符串,上面应该工作;如果你想要一个日期对象来处理那么ruby Date类可以帮助你处理它,但我相信仍然需要用Time对象完成所有事情;有关Date类的详细信息,请参阅Ruby Doc for Date。
希望有所帮助,如果我的答案走错了方向,请告诉我。