2012-10-05 41 views
0

我试图解析以下日期字符串:红宝石转换日期字符串在过去为另一种格式

111005 

20111005 

我试图使用Date.parse,但它的将其视为0011而不是2011:

Date.parse("111005").strftime("%y%m%d") 

任何想法如何使用DateTime做到这一点?显然,我可以在开始时连接20,但我希望避免这种情况。

+1

如何将电脑知道,如果你想2011年,1911年,2111,1811,2211,等等?如果你对我的问题的回答是明显是2011年,那么为什么不用concat 20呢? – sawa

+0

你为什么试图避免在它上面加上'20'?这是系统中不昂贵的一行代码。这是一个更大的问题小得多吗? –

+0

Date确实将其视为2011,您将其表示为11.'Date.parse(“111005”)。year'#=> 2011 – steenslag

回答

1

你想与世纪的一年?这就是%Y选项:

Date.parse("111005").strftime("%Y%m%d") 
# => "20111005" 
相关问题