From: "Matt G." Date: 2006-12-14T14:48:25+09:00 Subject: Re: DateTime.strptime() ------=_Part_128366_9468838.1166075302077 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline Thanks Morton. I did read date/format.rb and in 1.8.4 (what I'm running) it supports the %s format which I believe is supposed to represent the number of seconds since 1/1/1970. The number I'm passing in represents the number of seconds since 1/1/1970. On 13/12/06, Morton Goldberg wrote: > > On Dec 13, 2006, at 7:03 PM, Matt G. wrote: > > > Sorry for posting a beginner question here, but it seems like date/ > > format.rb > > is missing documentation on ruby-doc.org. > > > > So, the question is, why does this code not work? (I'm using > > ruby-1.8.4) > > > > irb(main):001:0> require 'date' > > => true > > irb(main):002:0> myd = DateTime.strptime("1166049481", '%s') > > ArgumentError: 3 elements of civil date are necessary > > from lib/ruby/1.8/date.rb:1214:in `new_with_hash' > > from lib/ruby/1.8/date.rb:1238:in `strptime' > > from (irb):2 > > > > I was able to make this work: Date::strptime("1/1/1970", '%d/%m/% > > Y') so I'm > > pretty sure I don't have a syntax error. > > DateTime.strptime simply can't handle "1166049481" as an argument. It > wants something that looks like a date/time stamp that a human might > be able to read. Unfortunately, as you point out, exactly what it > wants isn't documented. You're expected to read date/format.rb, which > IMO isn't easy decipher. > > BTW, even if your first argument were acceptable, I think your second > would be ignored -- at least in 1.8.2, which is what I'm running, %s > has no effect. > > > Thanks for any help. > > Not much help, I'm afraid, but you did ask for "any help" :) > > Regards, Morton > > ------=_Part_128366_9468838.1166075302077--