如何在ruby中将字符串转换为日期对象

时间:2015-05-17 18:42:22

标签: ruby date

我得到一个如下字符串的日期:

"September 1998"

我尝试了Date.parse("September 1998"),但它没有用。

如何将其转换为以上述格式返回字符串的ruby日期对象?

3 个答案:

答案 0 :(得分:9)

<div> <span>1</span> <span>2</span> </div>。但是,这将代表9月 1st 1998,因为日期对象代表日期。

答案 1 :(得分:4)

您可以使用chronic gem

require 'chronic'

t = Chronic.parse('September 1998', :guess => true) #returns a Time object
=> 1998-09-01 00:00:00 -0700

t.to_date #convert to Date object
=> <Date: 1998-09-16 ((2451073j,0s,0n),+0s,2299161j)>

Chronic是由Tom Preston-Werner创建的,他也共同创建了Github。

答案 2 :(得分:2)

只是前面缺少“1”:

str ="September 1998"
p Date.parse("1 " + str) # => #<Date: 1998-09-01 ((2451058j,0s,0n),+0s,2299161j)>