2013-07-22 11 views
5

Ich versuche herauszufinden, warum ich einen invalid date Fehler für bestimmte Daten bekomme.Rails analysieren ungültiges Datum Fehler

Zum Beispiel:

Dies funktioniert:

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" 

Das gibt 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' 

ich das gleiche Datumsformat in beiden Fällen verwenden. Was kann die Ursache dafür sein/Was muss ich ändern, um es zu beheben?

+1

Siehe @ErminDedovic Antwort. Und beachte, dass in deinem Beispiel "7/2/2013" deine 'strftime'-Ausgabe" 2013-07-02 "für ein"% Y-% d-% m "-Format ist, was nicht das ist, was du willst (* dh *, es funktioniert nicht wirklich wie Sie angegeben haben. – lurker

Antwort

4

Das Format des Datums ist TT/MM/JJJJ. Sie versuchen, ein Datum zu erstellen, das der siebte Tag des 18. Monats 2013 ist.

Sie können strptime verwenden, wenn Sie Ihr Datumsformat anpassen möchten.

Verwandte Themen