There's a settz script that takes... some kind of weird data as input (IIRC, it's the delta to UTC in minutes or something), check it out

.
In the same vein, prefer setdate to doing stuff manually, as it'll update the UI properly (and that one takes an UTC epoch as input).