我有一个字符串,例如"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")
DateTime.parse()
。 - Adam McArthurDateTime.parse
。 - rubyprinceDate.parse()
输出与仅使用日期时间戳时的DateTime.parse()
没有任何区别。我无法想象仅使用Date
会有任何显著的性能优势... - Adam McArthurrequire 'date'
date = "2011-06-02T23:59:59+05:30".gsub(/T.*/, '')
DateTime.parse(date)
Date
替代 DateTime
并忽略 gsub 操作 ;) - SchoviTime.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。
希望这可以帮到您,如果我的回答偏离了问题,请告诉我。