I'm trying to work with dates as they appear in 
email headers, but ParseDate and Time don't seem 
to want to play with each other. First, since the 
order of parameters is different, it's harder 
than necessary to stuff a ParseDate result into a 
Time.

More importantly, Time.utc and Time.local seem to 
ignore the timezone parameter. Here's my sample 
code:

require 'parsedate'

sample = "Thu, 21 Dec 2000 07:43:29 +0900"

pd = ParseDate.parsedate(sample)
p pd.inspect

tm = Time.utc(pd[5], pd[4], pd[3], pd[2], pd[1], 
pd[0], 0, 0, 0, pd[6])
p tm.inspect

tm = Time.local(pd[5], pd[4], pd[3], pd[2], 
pd[1], pd[0], 0, 0, 0, pd[6])
p tm.inspect

tm = Time.utc(pd[5], pd[4], pd[3], pd[2], pd[1], 
pd[0], 0, 0, 0, "JST")
p tm.inspect

In all three cases, the time remains unadjusted 
at 7:43:29. I was expecting it to be converted to 
UTC (22:43) in the first and third cases, and to 
PST (14:23) in the second case. Hopefully I'm 
just doing something wrong.

Any hints?

Kevin