Velocity Reviews

Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   Ruby (http://www.velocityreviews.com/forums/f66-ruby.html)
-   -   Date#parse assume a EU format - can it assume a US format? (http://www.velocityreviews.com/forums/t864508-date-parse-assume-a-eu-format-can-it-assume-a-us-format.html)

Josh Sharpe 09-21-2010 01:50 AM

Date#parse assume a EU format - can it assume a US format?
 
Before you jump to an answer here, please don't suggest that I use
_strptime. Going that route forces my users to give me the date and/or
time in the format that I specify. Which is really not optimal.

So the problem is that Date#parse assumes that the format is
day/month/year. I would like to make it assume that it is in the US
format, month/day/year.

After digging into format.rb I tried this:

class Date
def _parse_eu(str, e)
_parse_us(str,e)
end
end

... in an attempt to skip the parse_eu method.... that solution doesn't
exactly work:

ruby-1.9.2-p0 > Date.parse("10/04/2010")
=> Sat, 10 Apr 2010

So, it's still using the EU format. Any other suggestions??

Thanks!
--
Posted via http://www.ruby-forum.com/.


Brian Candler 09-21-2010 09:16 AM

Re: Date#parse assume a EU format - can it assume a US format?
 
Josh Sharpe wrote:
> Before you jump to an answer here, please don't suggest that I use
> _strptime. Going that route forces my users to give me the date and/or
> time in the format that I specify. Which is really not optimal.
>
> So the problem is that Date#parse assumes that the format is
> day/month/year.


It is U.S. middle-endian format in 1.8.7. But try this monkey-patch for
1.9.2:

require 'date'
def Date._parse_sla(str, e) # :nodoc:
if str.sub!(%r|('?-?\d+)/\s*('?\d+)(?:\D\s*('?-?\d+))?|, ' ') # '
s3e(e, $2, $1, $3)
true
end
end

>> Date.parse("10/04/2010")

=> #<Date: 2010-10-04 (4910947/2,0,2299161)>
--
Posted via http://www.ruby-forum.com/.



All times are GMT. The time now is 04:11 PM.

Powered by vBulletin®. Copyright ©2000 - 2014, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.