From: Morton Goldberg Date: 2007-02-03T03:22:33+09:00 Subject: Re: What's up with Time.local ? On Feb 2, 2007, at 12:58 PM, Peter Bailey wrote: > I need to check some file dates against the budgetary periods of our > company, to determine where those files get placed. I'm playing > with the > Time.local object. I've proven that I can denote which budget > period I'm > in by using the .between? method. But, I get this weird "octal digit" > error with some of my date entries. > > irb(main):001:0> t = Time.local(2007,09,09,00,00) > SyntaxError: compile error > (irb):1: Illegal octal digit > t = Time.local(2007,09,09,00,00) > ^ > (irb):1: Illegal octal digit > t = Time.local(2007,09,09,00,00) > ^ > > I don't get the error when I specify the following date. It doesn't > seem > to like the month of September. (-; > > irb(main):005:0> t = Time.local(2007,01,01,00,00) > => Mon Jan 01 00:00:00 -0500 2007 In Ruby starting an integer with a leading zero designates that it is in octal notation. The non-negative octal integers start 00, 01, ..., 07, 010, 011, .... There is no 09. Bottom line: drop the leading zeros. Regards, Morton