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