Анализ DateTime не работает должным образом - PullRequest
6 голосов
/ 07 декабря 2010

У меня есть код Ruby, который выглядит примерно так.

str = 2010-12-02_12-10-26
puts str
puts DateTime.parse(str, "%Y-%m-%d_%H-%M-%S")

Я ожидал получить фактическое время от разбора.Вместо этого я получаю вывод, подобный этому ...

2010-12-02_12-10-26
2010-12-02T00:00:00+00:00

Как мне также анализировать время?

Ответы [ 2 ]

13 голосов
/ 07 декабря 2010

Это работает:

str = "2010-12-02_12-10-26"
puts str
puts DateTime.strptime(str, "%Y-%m-%d_%H-%M-%S")

Этот пример на Кодовая панель .

Согласно документации parse:

Создание нового объекта DateTime путем анализа строки, без указания формата.

И strptime:

Создать новый объект DateTime путем анализа строки в соответствии с указанным форматом.

1 голос
/ 07 декабря 2010

Использовать strptime вместо разбора

puts DateTime.strptime(str, "%Y-%m-%d_%H-%M-%S")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...