I don't think setting at login time is the correct solution. It should be resetable at any time, and you can do this with zic(1). The problem is the GNOME clock applet and some applications (such as Thunderbird) don't auto update and need to get restarted. Compare this to MacOS X where it is instant everywhere.
Why not login time ? Well suspend and resume is comming soon and it is quite possible that I'll stay logged in for weeks at a time and cross timezones without a logout. This message posted from opensolaris.org
