When I run this I get the following output: The date was: 2003-08-30 16:00:00 The date is: Sat Aug 30 11:00:00 CDT 2003 The long date is: 1062259200000
I see you're trying to compensate for the time zone. What happens if you take out the adjustment: "sdf.getTimeZone().getOffset(temp.getTime()"? We had a production app that hummed along happily until daylight savings time came in, and I think we made a date format with no timezone info or a "dumb" default timezone that never adjusted. It was deeply confusing at the time.
A good question is never answered. It is not a bolt to be tightened into place but a seed to be planted and to bear more seed toward the hope of greening the landscape of the idea. John Ciardi