Where are you seeing the correct time on the UCM server and what version are you running?
The SCCP device time is derived from the CallManager process based on the Date/Time Group of the device's Device Pool. Ensure you have the correct timezone assigned. If that's correct and you're on an older version of UCM there may be a timezone problem that requires a patch. Just because the OS is correct doesn't mean that the JRE is.