Hi Neil,
>Does Java run it's own clock, which is drifting?
Java is a bit slower than other languages. To accommodate for this the clock is set to the future so Java programs finish at the same time as all others. ;-)
seriously though, could it be that Java uses a different time zone setting? This would result in values a few hours in the future.
--
Christof