ParseDate.parsedate() and Time.now()

irb(main):029:0> timeNow = Time.now().to_s()
=> “Fri Aug 11 11:03:36 Central Daylight Time 2006”

irb(main):030:0> ParseDate.parsedate(timeNow)
=> [nil, 8, 11, 11, 3, 36, “Central”, 5]

Seems to me that it should return this:
=> [2006, 8, 11, 11, 3, 36, “Central”, 5]

Or is it just me?

On Sat, 12 Aug 2006 01:10:58 +0900, Patrick S. wrote:

irb(main):029:0> timeNow = Time.now().to_s()
=> “Fri Aug 11 11:03:36 Central Daylight Time 2006”

irb(main):030:0> ParseDate.parsedate(timeNow)
=> [nil, 8, 11, 11, 3, 36, “Central”, 5]

Seems to me that it should return this:
=> [2006, 8, 11, 11, 3, 36, “Central”, 5]

Or is it just me?

It’s you. Specifically, something’s wrong with your locale, because
“Central Daylight Time” should actually be replaced with the
abbreviation
“CDT”.

irb(main):001:0> timeNow = Time.now().to_s()
=> “Fri Aug 11 13:49:07 CDT 2006”
irb(main):002:0> ParseDate.parsedate(timeNow)
=> [2006, 8, 11, 13, 49, 7, “CDT”, 5]

irb(main):029:0> timeNow = Time.now().to_s()
=> “Fri Aug 11 11:03:36 Central Daylight Time 2006”

irb(main):030:0> ParseDate.parsedate(timeNow)
=> [nil, 8, 11, 11, 3, 36, “Central”, 5]

Seems to me that it should return this, note the year in the 1st element
=> [2006, 8, 11, 11, 3, 36, “Central”, 5]

The point I was trying to make is that the 1st element of the array
returned by parsedate() seems that it should contain the year 2006,
intstead of a nil.

As for the issue of returning “Central” vs “CST” or “CDT”, I’m not
overly concerned with that at this time. No doubt, that will change.

“Austin Z.” [email protected] writes:

incorrect, because most date systems are sensible.
It’s time to make use of missing/strftime.c when on Windows.

On 8/15/06, Patrick S. [email protected] wrote:

As for the issue of returning “Central” vs “CST” or “CDT”, I’m not
overly concerned with that at this time. No doubt, that will change.

I’m not sure it’ll change. You’re on Windows, and Windows is stupid
this way, preferring to spell out “Central Daylight Time” instead of
“CDT”; I have yet to figure out how to get the output from a Windows
format string to be abbreviated or better yet to return a +/- offset.

It is the “Central Daylight Time” that is causing the parsing to be
incorrect, because most date systems are sensible.

It may be worth reporting a bug to the tracker on RubyForge.org. If
you can figure out a patch, that’s even better and you can also put it
in the same place.

-austin

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs