2013-07-22 3 views
5

Im пытается выяснить, почему я продолжаю получать ошибку invalid date для определенных дат.Rails parse Неверная дата Ошибка

Например:

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

e = "07/02/2013" 
=> "07/02/2013" 
start_date = DateTime.parse(e).beginning_of_day.strftime("%Y-%d-%m %H:%M:%S") 
=> "2013-07-01 00:00:00" 
end_date = DateTime.parse(e).end_of_day.strftime("%Y-%d-%m %H:%M:%S") 
=> "2013-07-02 23:59:59" 

Это возвращает ArgumentError: invalid date

e = "07/18/2013" 
=> "07/18/2013" 
start_date = DateTime.parse(e).beginning_of_day.strftime("%Y-%d-%m %H:%M:%S") 
ArgumentError: invalid date 
from (irb):53:in `parse' 
end_date = DateTime.parse(e).end_of_day.strftime("%Y-%d-%m %H:%M:%S") 
ArgumentError: invalid date 
from (irb):55:in `parse' 

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

+1

См. @ErminDedovic ответ. И обратите внимание, что в вашем примере «7/2/2013» вывод 'strftime' -« 2013-07-02 »для формата«% Y-% d-% m », который вам не нужен (* т.е. *, на самом деле он «не работает», как вы указали). – lurker

ответ

4

Формат даты dd/mm/yyyy. Вы пытаетесь создать дату, которая составляет 7-й день 18-го месяца 2013 года.

Вы можете использовать strptime, если хотите настроить формат даты.

Смежные вопросы