If you're on a corporate network, this will have even more problems. Unless the system has a built-in GPS chip by which it can get it's location and precise timezone, it will determine it's location by it's public IP and IP-geolocation. On a corporate network this will always be determined by the domain controller, which is generally in a static location geographically.
If your system is not on a domain, relying on the public IP and geolocation will still be problematic if you're near a time zone boundary, as you never know if your IP is being handed out by a server across the line.
It may be easiest to write a bit of code that runs in the system tray and allows you to simply select the appropriate time zone and then updates your system clock accordingly.
Microsoft has a Time Zone tool that allows you to set and display multiple time zones. I have not checked to see how easy it is to switch between favorites as your current zone, but it may be a step in the right direction.