преобразование формата даты ruby - PullRequest
0 голосов
/ 07 февраля 2012

Я думаю, это говорит само за себя:

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 ]

3 голосов
/ 07 февраля 2012

%y принимает год в двух цифрах, то есть 19. Тогда DateTime предполагает, что это 2019. Вам нужно %Y.

3 голосов
/ 07 февраля 2012

Ваша проблема в том, что вы написали %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"
...