Parsing string to datetime month & day reversed

199 views
Skip to first unread message

Barb Wood

unread,
Dec 28, 2007, 10:34:28 PM12/28/07
to rubyonra...@googlegroups.com
Hello,

I have a parse that reads in a file and populates my database. The
problem is that when I use Time.parse it interprets the second digit as
the month rather than the day.

For example:
Input: 12-04-2007 21:15:56
Shows as Apr 12, 2007

Controller Line: wanted.earlist_pre_order = Time.parse(items[12])

Any help would be greatly appreciated.

Barb
--
Posted via http://www.ruby-forum.com/.

Oscar Del ben

unread,
Dec 29, 2007, 5:33:19 AM12/29/07
to rubyonra...@googlegroups.com
Barb Wood wrote:
> Hello,
>
> I have a parse that reads in a file and populates my database. The
> problem is that when I use Time.parse it interprets the second digit as
> the month rather than the day.
>
> For example:
> Input: 12-04-2007 21:15:56
> Shows as Apr 12, 2007
>
> Controller Line: wanted.earlist_pre_order = Time.parse(items[12])
>
> Any help would be greatly appreciated.
>
> Barb

Well that's not an error. It depends on where you live. I think you can
try somewhere the strftime method

Rick DeNatale

unread,
Dec 29, 2007, 9:05:27 AM12/29/07
to rubyonra...@googlegroups.com
On Dec 28, 2007 10:34 PM, Barb Wood <rails-mai...@andreas-s.net> wrote:
>
> Hello,
>
> I have a parse that reads in a file and populates my database. The
> problem is that when I use Time.parse it interprets the second digit as
> the month rather than the day.
>
> For example:
> Input: 12-04-2007 21:15:56
> Shows as Apr 12, 2007
>
> Controller Line: wanted.earlist_pre_order = Time.parse(items[12])
>
> Any help would be greatly appreciated.

Date/Time.parse uses a variety of heuristics in an attempt to deal
with the various ways we present dates around the world.

I think that using "-" for the separator triggers it to interpret the
date in EU format dd-mm-yyyy and a '/' causes it to use the US
interpretation mm/dd/yyyy

--
Rick DeNatale

My blog on Ruby
http://talklikeaduck.denhaven2.com/

Greg Donald

unread,
Dec 31, 2007, 12:12:09 PM12/31/07
to rubyonra...@googlegroups.com
On 12/28/07, Barb Wood <rails-mai...@andreas-s.net> wrote:
> I have a parse that reads in a file and populates my database. The
> problem is that when I use Time.parse it interprets the second digit as
> the month rather than the day.
>
> For example:
> Input: 12-04-2007 21:15:56
> Shows as Apr 12, 2007
>
> Controller Line: wanted.earlist_pre_order = Time.parse(items[12])
>
> Any help would be greatly appreciated.

You can use strptime to parse dates/times with unusual formats:

http://www.ruby-doc.org/core/classes/DateTime.html#M002824


--
Greg Donald
http://destiney.com/

Reply all
Reply to author
Forward
0 new messages