# Change string to date error

**URL:** <https://www.ruby-forum.com/t/change-string-to-date-error/124304>\
**Category:** Ruby\
**Created:** [December 27, 2007, 2:42pm UTC](https://www.ruby-forum.com/t/change-string-to-date-error/124304 "2007-12-27T14:42:06Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Junkone](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/e274bd/32.png) [@Junkone](https://www.ruby-forum.com/u/Junkone)\
**Post date:** [December 27, 2007, 2:42pm UTC](https://www.ruby-forum.com/t/change-string-to-date-error/124304/1 "2007-12-27T14:42:06Z")

</div>

i get the following error. wonder why

irb(main):068:0\> @@config[“date”]  
=\> “27/12/2007”  
irb(main):069:0\> Time.parse(@@config[“date”])  
ArgumentError: argument out of range  
from e:/ruby/lib/ruby/1.8/time.rb:184:in `local' from e:/ruby/lib/ruby/1.8/time.rb:184:in`make\_time’  
from e:/ruby/lib/ruby/1.8/time.rb:243:in `parse’  
from (irb):69  
from :0  
irb(main):070:0\>

---

<div class="post-metadata">

**Author:** ![Junkone](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/e274bd/32.png) [@Junkone](https://www.ruby-forum.com/u/Junkone)\
**Post date:** [December 27, 2007, 3:07pm UTC](https://www.ruby-forum.com/t/change-string-to-date-error/124304/2 "2007-12-27T15:07:22Z")

</div>

On Thu, 2007-12-27 at 22:39 +0900, Junkone wrote:

> ```
> from :0
> 
> ```
> 
> irb(main):070:0\>

You have the month and day swapped - there’s no 27th month in a year:

$ irb  
irb(main):001:0\> require ‘time’  
=\> true  
irb(main):002:0\> Time.parse(‘27/12/2007’)  
ArgumentError: argument out of range  
from /home/felix/ruby1.8.6/lib/ruby/1.8/time.rb:184:in `local' from /home/felix/ruby1.8.6/lib/ruby/1.8/time.rb:184:in`make\_time’  
from /home/felix/ruby1.8.6/lib/ruby/1.8/time.rb:243:in `parse’  
from (irb):2  
irb(main):003:0\> Time.parse(‘12/27/2007’)  
=\> Thu Dec 27 00:00:00 -0800 2007  
irb(main):004:0\>

HTH,

Felix

---

<div class="post-metadata">

**Author:** ![Junkone](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/e274bd/32.png) [@Junkone](https://www.ruby-forum.com/u/Junkone)\
**Post date:** [December 27, 2007, 7:25pm UTC](https://www.ruby-forum.com/t/change-string-to-date-error/124304/3 "2007-12-27T19:25:32Z")

</div>

On Dec 27, 9:06 am, fw [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> > ```
> > from (irb):69
> > 
> > ```
> 
> ```
> from /home/felix/ruby1.8.6/lib/ruby/1.8/time.rb:184:in `local'
> 
> ```
> 
> Felix  
> i have a canadian layout and my regional settings on my computer is  
> set to dd/mm/yyyy. strange that ruby cannot get this one right. all my  
> office apps and my oracle and mysql databases now recognise this  
> format on my computer.

---

<div class="post-metadata">

**Author:** ![Junkone](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/e274bd/32.png) [@Junkone](https://www.ruby-forum.com/u/Junkone)\
**Post date:** [December 27, 2007, 7:45pm UTC](https://www.ruby-forum.com/t/change-string-to-date-error/124304/4 "2007-12-27T19:45:37Z")

</div>

On Dec 27, 12:21 pm, Junkone [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> > > ArgumentError: argument out of range  
> > > irb(main):001:0\> require ‘time’  
> > > irb(main):004:0\>
> 
> > HTH,
> 
> > Felix
> 
> i have a canadian layout and my regional settings on my computer is  
> set to dd/mm/yyyy. strange that ruby cannot get this one right. all my  
> office apps and my oracle and mysql databases now recognise this  
> format on my computer.

Here ya go, eh. 😉

Time.parse(@@config[“date”].gsub(/(._?)/(._?)/(.\*)/, ‘\2/\1/\3’))

Regards,  
Jordan
