日期格式转换ruby

时间:2012-02-07 17:09:57

标签: ruby datetime date

我认为这说明了一切:

irb(main):014:0> DateTime.strptime("4/23/1967", "%m/%d/%y").to_s
=> "2019-04-23T00:00:00+00:00"

2019年是这一年?

我有几种不同的日期格式:

4/23/1967

3-3-1985

我想将它们标准化,以第一种格式显示(带斜杠)。

2 个答案:

答案 0 :(得分:3)

您的问题是您已将%y写为%Y。日期格式字符串区分大小写。

irb(main):014:0> DateTime.strptime("4/23/1967", "%m/%d/%y").to_s
=> "2019-04-23T00:00:00+00:00"

irb(main):014:0> DateTime.strptime("4/23/1967", "%m/%d/%Y").to_s
=> "1967-04-23T00:00:00+00:00"

答案 1 :(得分:3)

%y以2位数字表示年份,因此19.然后DateTime假定它是2019年。您需要%Y