18

I often move between 2 time zones, and expect my Windows 7 laptop to somehow automatically change the system time, being spoiled by the same feature on my cell phone. I always assumed that desktop O/Ses simply did not do this, but I was shocked yesterday when I noticed that OSX on the MacBook actually does this!

Does anybody know of any utilities that does this on Windows, specifically Windows 7? There has to be something out there?

1
  • If a search engine has brought you to this post and you are looking to do this in Windows 10, see this page: wikihow.com/…
    – codechurn
    May 10, 2017 at 5:32

6 Answers 6

11

I got fed up with changing the time on my travels as well and just decided to build the product.

So now there is a software for this: I called it TimeTraveller and you can find it on http://www.godotandco.com

7
  • 1
    This is the best kind of answer there is! A tip: I bet this would be even more useful on windows RT (not sure whether the OS currently handles this or not)
    – Suan
    Jan 15, 2013 at 6:22
  • 6
    Nice work. Too bad it's so expensive ($24) and licensed per machine. I'd be much more likely to buy it if it were less than $10 and licensed per user. Jun 20, 2013 at 14:52
  • Is TimeTraveller compatible with Windows 8? Sep 30, 2013 at 4:03
  • 1
    @JasonR.Coombs I agree. It's pretty expensive for a 1-function-tool. You can almost get Windows 8 for that price (upgrade).
    – sinni800
    Dec 3, 2013 at 8:42
  • 1
    The software has two components, a server and client component. The server component binds to port 8000, which interferes with other services on the machine. I frequently have to disable the service to prevent the interference. net stop "TimeTraveller Background service" Dec 10, 2014 at 14:20
7

I was annoyed with this after upgrading to Windows 8.1; I was hoping it would do something like the mac does. So, I spent a couple hours creating my first powershell script to do it. So far, it's been working.

Feel free to download and use (instructions included).

http://pastebin.com/hkQ0c1SE

1
  • Love it! I made two changes: I used the second Invoke-WebRequest for $j because iptolatlng.com appears to be defunct. Second, I used CredMan to load the credential so it doesn't have to be stored in the script ($timezonedbAPIkey = (Read-Creds TimeZoneDB).CredentialBlob). Dec 10, 2014 at 17:32
1

I did not find any SW to do this automatically based on location, so at least to simplify the task I created a small batch file using tzutil command line utility in Windows 7. To adapt, you need to check the tzutil time zone namings (tzutil /l)

@ECHO OFF
ECHO 1. Greece (UTC+2)
ECHO 2. CET (UTC+1)
CHOICE /C:12 /M "Set Time Zone "
IF ERRORLEVEL 2 GOTO TWO
IF ERRORLEVEL 1 GOTO ONE
:ONE
tzutil /s "GTB Standard Time"
GOTO END
:TWO
tzutil /s "W. Europe Standard Time"
:END
1

Here's an updated modified powershell script from user### that linked to pastebin in his answer, that works.

<#
Change policy to run scripts (from CMD as Admin): powershell -Command "Set-ExecutionPolicy -ExecutionPolicy Unrestricted"


-- Setup task scheduler instructions --
Open the Task Scheduler.
In the Task Scheduler library, create a new task by clicking Create Task in the Actions panel on the right side.
Give the task a name like "Update time zone on network connect" or whatever you choose
On the Triggers tab, click New... and select On an Event from the dropdown box.
Choose the following settings:
    Log: Microsoft-Windows-NetworkProfile/Operational
    Source: NetworkProfile
    Event ID: 10000
Click OK, then go to the Conditions tab.
Check the box for Start only if the following network connection is available and choose the network you want to run the script with
Under the Actions tab, click New... and select Start a program. Enter the location of the script file you want to run, then click OK.
Set any other task settings you want to, then click OK.

Command: powershell -file update_time_zone.ps1
#>


Function getWindowsTZFromUnix ($unixTZName) {
    #Mapping from http://www.unicode.org/cldr/charts/latest/supplemental/zone_tzid.html
    $h = @{"Africa/Abidjan"="Greenwich Standard Time";"Africa/Accra"="Greenwich Standard Time";"Africa/Addis_Ababa"="E. Africa Standard Time";"Africa/Algiers"="W. Central Africa Standard Time";"Africa/Asmera"="E. Africa Standard Time";"Africa/Bamako"="Greenwich Standard Time";"Africa/Bangui"="W. Central Africa Standard Time";"Africa/Banjul"="Greenwich Standard Time";"Africa/Bissau"="Greenwich Standard Time";"Africa/Blantyre"="South Africa Standard Time";"Africa/Brazzaville"="W. Central Africa Standard Time";"Africa/Bujumbura"="South Africa Standard Time";"Africa/Cairo"="Egypt Standard Time";"Africa/Casablanca"="Morocco Standard Time";"Africa/Conakry"="Greenwich Standard Time";"Africa/Dakar"="Greenwich Standard Time";"Africa/Dar_es_Salaam"="E. Africa Standard Time";"Africa/Djibouti"="E. Africa Standard Time";"Africa/Douala"="W. Central Africa Standard Time";"Africa/El_Aaiun"="Morocco Standard Time";"Africa/Freetown"="Greenwich Standard Time";"Africa/Gaborone"="South Africa Standard Time";"Africa/Harare"="South Africa Standard Time";"Africa/Johannesburg"="South Africa Standard Time";"Africa/Juba"="E. Africa Standard Time";"Africa/Kampala"="E. Africa Standard Time";"Africa/Khartoum"="E. Africa Standard Time";"Africa/Kigali"="South Africa Standard Time";"Africa/Kinshasa"="W. Central Africa Standard Time";"Africa/Lagos"="W. Central Africa Standard Time";"Africa/Libreville"="W. Central Africa Standard Time";"Africa/Lome"="Greenwich Standard Time";"Africa/Luanda"="W. Central Africa Standard Time";"Africa/Lubumbashi"="South Africa Standard Time";"Africa/Lusaka"="South Africa Standard Time";"Africa/Malabo"="W. Central Africa Standard Time";"Africa/Maputo"="South Africa Standard Time";"Africa/Maseru"="South Africa Standard Time";"Africa/Mbabane"="South Africa Standard Time";"Africa/Mogadishu"="E. Africa Standard Time";"Africa/Monrovia"="Greenwich Standard Time";"Africa/Nairobi"="E. Africa Standard Time";"Africa/Ndjamena"="W. Central Africa Standard Time";"Africa/Niamey"="W. Central Africa Standard Time";"Africa/Nouakchott"="Greenwich Standard Time";"Africa/Ouagadougou"="Greenwich Standard Time";"Africa/Porto-Novo"="W. Central Africa Standard Time";"Africa/Sao_Tome"="Greenwich Standard Time";"Africa/Tripoli"="Libya Standard Time";"Africa/Tunis"="W. Central Africa Standard Time";"Africa/Windhoek"="Namibia Standard Time";"America/Anchorage"="Alaskan Standard Time";"America/Anchorage America/Juneau America/Nome America/Sitka America/Yakutat"="Alaskan Standard Time";"America/Anguilla"="SA Western Standard Time";"America/Antigua"="SA Western Standard Time";"America/Aruba"="SA Western Standard Time";"America/Asuncion"="Paraguay Standard Time";"America/Bahia"="Bahia Standard Time";"America/Barbados"="SA Western Standard Time";"America/Belize"="Central America Standard Time";"America/Blanc-Sablon"="SA Western Standard Time";"America/Bogota"="SA Pacific Standard Time";"America/Buenos_Aires"="Argentina Standard Time";"America/Buenos_Aires America/Argentina/La_Rioja America/Argentina/Rio_Gallegos America/Argentina/Salta America/Argentina/San_Juan America/Argentina/San_Luis America/Argentina/Tucuman America/Argentina/Ushuaia America/Catamarca America/Cordoba America/Jujuy America/Mendoza"="Argentina Standard Time";"America/Caracas"="Venezuela Standard Time";"America/Cayenne"="SA Eastern Standard Time";"America/Cayman"="SA Pacific Standard Time";"America/Chicago"="Central Standard Time";"America/Chicago America/Indiana/Knox America/Indiana/Tell_City America/Menominee America/North_Dakota/Beulah America/North_Dakota/Center America/North_Dakota/New_Salem"="Central Standard Time";"America/Chihuahua"="Mountain Standard Time (Mexico)";"America/Chihuahua America/Mazatlan"="Mountain Standard Time (Mexico)";"America/Coral_Harbour"="SA Pacific Standard Time";"America/Costa_Rica"="Central America Standard Time";"America/Cuiaba"="Central Brazilian Standard Time";"America/Cuiaba America/Campo_Grande"="Central Brazilian Standard Time";"America/Curacao"="SA Western Standard Time";"America/Danmarkshavn"="UTC";"America/Dawson_Creek America/Creston"="US Mountain Standard Time";"America/Denver"="Mountain Standard Time";"America/Denver America/Boise America/Shiprock"="Mountain Standard Time";"America/Dominica"="SA Western Standard Time";"America/Edmonton America/Cambridge_Bay America/Inuvik America/Yellowknife"="Mountain Standard Time";"America/El_Salvador"="Central America Standard Time";"America/Fortaleza America/Araguaina America/Belem America/Maceio America/Recife America/Santarem"="SA Eastern Standard Time";"America/Godthab"="Greenland Standard Time";"America/Grand_Turk"="Eastern Standard Time";"America/Grenada"="SA Western Standard Time";"America/Guadeloupe"="SA Western Standard Time";"America/Guatemala"="Central America Standard Time";"America/Guayaquil"="SA Pacific Standard Time";"America/Guyana"="SA Western Standard Time";"America/Halifax"="Atlantic Standard Time";"America/Halifax America/Glace_Bay America/Goose_Bay America/Moncton"="Atlantic Standard Time";"America/Havana"="Eastern Standard Time";"America/Hermosillo"="US Mountain Standard Time";"America/Indianapolis"="US Eastern Standard Time";"America/Indianapolis America/Indiana/Marengo America/Indiana/Vevay"="US Eastern Standard Time";"America/Jamaica"="SA Pacific Standard Time";"America/Kralendijk"="SA Western Standard Time";"America/La_Paz"="SA Western Standard Time";"America/Lima"="SA Pacific Standard Time";"America/Los_Angeles"="Pacific Standard Time";"America/Lower_Princes"="SA Western Standard Time";"America/Managua"="Central America Standard Time";"America/Manaus America/Boa_Vista America/Porto_Velho"="SA Western Standard Time";"America/Marigot"="SA Western Standard Time";"America/Martinique"="SA Western Standard Time";"America/Matamoros"="Central Standard Time";"America/Mexico_City"="Central Standard Time (Mexico)";"America/Mexico_City America/Bahia_Banderas America/Cancun America/Merida America/Monterrey"="Central Standard Time (Mexico)";"America/Montevideo"="Montevideo Standard Time";"America/Montserrat"="SA Western Standard Time";"America/Nassau"="Eastern Standard Time";"America/New_York"="Eastern Standard Time";"America/New_York America/Detroit America/Indiana/Petersburg America/Indiana/Vincennes America/Indiana/Winamac America/Kentucky/Monticello America/Louisville"="Eastern Standard Time";"America/Noronha"="UTC-02";"America/Ojinaga"="Mountain Standard Time";"America/Panama"="SA Pacific Standard Time";"America/Paramaribo"="SA Eastern Standard Time";"America/Phoenix"="US Mountain Standard Time";"America/Port-au-Prince"="Eastern Standard Time";"America/Port_of_Spain"="SA Western Standard Time";"America/Puerto_Rico"="SA Western Standard Time";"America/Regina"="Canada Central Standard Time";"America/Regina America/Swift_Current"="Canada Central Standard Time";"America/Rio_Branco America/Eirunepe"="SA Pacific Standard Time";"America/Santa_Isabel"="Pacific Standard Time (Mexico)";"America/Santiago"="Pacific SA Standard Time";"America/Santo_Domingo"="SA Western Standard Time";"America/Sao_Paulo"="E. South America Standard Time";"America/Scoresbysund"="Azores Standard Time";"America/St_Barthelemy"="SA Western Standard Time";"America/St_Johns"="Newfoundland Standard Time";"America/St_Kitts"="SA Western Standard Time";"America/St_Lucia"="SA Western Standard Time";"America/St_Thomas"="SA Western Standard Time";"America/St_Vincent"="SA Western Standard Time";"America/Tegucigalpa"="Central America Standard Time";"America/Thule"="Atlantic Standard Time";"America/Tijuana"="Pacific Standard Time";"America/Toronto America/Iqaluit America/Montreal America/Nipigon America/Pangnirtung America/Thunder_Bay"="Eastern Standard Time";"America/Tortola"="SA Western Standard Time";"America/Vancouver America/Dawson America/Whitehorse"="Pacific Standard Time";"America/Winnipeg America/Rainy_River America/Rankin_Inlet America/Resolute"="Central Standard Time";"Antarctica/Casey"="W. Australia Standard Time";"Antarctica/Davis"="SE Asia Standard Time";"Antarctica/DumontDUrville"="West Pacific Standard Time";"Antarctica/Macquarie"="Central Pacific Standard Time";"Antarctica/Mawson"="West Asia Standard Time";"Antarctica/McMurdo"="New Zealand Standard Time";"Antarctica/Palmer"="Pacific SA Standard Time";"Antarctica/Rothera"="SA Eastern Standard Time";"Antarctica/Syowa"="E. Africa Standard Time";"Antarctica/Vostok"="Central Asia Standard Time";"Arctic/Longyearbyen"="W. Europe Standard Time";"Asia/Aden"="Arab Standard Time";"Asia/Almaty"="Central Asia Standard Time";"Asia/Almaty Asia/Qyzylorda"="Central Asia Standard Time";"Asia/Amman"="Jordan Standard Time";"Asia/Ashgabat"="West Asia Standard Time";"Asia/Baghdad"="Arabic Standard Time";"Asia/Bahrain"="Arab Standard Time";"Asia/Baku"="Azerbaijan Standard Time";"Asia/Bangkok"="SE Asia Standard Time";"Asia/Beirut"="Middle East Standard Time";"Asia/Bishkek"="Central Asia Standard Time";"Asia/Brunei"="Singapore Standard Time";"Asia/Calcutta"="India Standard Time";"Asia/Colombo"="Sri Lanka Standard Time";"Asia/Damascus"="Syria Standard Time";"Asia/Dhaka"="Bangladesh Standard Time";"Asia/Dili"="Tokyo Standard Time";"Asia/Dubai"="Arabian Standard Time";"Asia/Dushanbe"="West Asia Standard Time";"Asia/Hong_Kong"="China Standard Time";"Asia/Hovd"="SE Asia Standard Time";"Asia/Irkutsk"="North Asia East Standard Time";"Asia/Jakarta Asia/Pontianak"="SE Asia Standard Time";"Asia/Jayapura"="Tokyo Standard Time";"Asia/Jerusalem"="Israel Standard Time";"Asia/Kabul"="Afghanistan Standard Time";"Asia/Karachi"="Pakistan Standard Time";"Asia/Katmandu"="Nepal Standard Time";"Asia/Krasnoyarsk"="North Asia Standard Time";"Asia/Kuala_Lumpur Asia/Kuching"="Singapore Standard Time";"Asia/Kuwait"="Arab Standard Time";"Asia/Macau"="China Standard Time";"Asia/Magadan"="Magadan Standard Time";"Asia/Magadan Asia/Anadyr Asia/Kamchatka"="Magadan Standard Time";"Asia/Makassar"="Singapore Standard Time";"Asia/Manila"="Singapore Standard Time";"Asia/Muscat"="Arabian Standard Time";"Asia/Nicosia"="GTB Standard Time";"Asia/Novosibirsk"="N. Central Asia Standard Time";"Asia/Novosibirsk Asia/Novokuznetsk Asia/Omsk"="N. Central Asia Standard Time";"Asia/Oral Asia/Aqtau Asia/Aqtobe"="West Asia Standard Time";"Asia/Phnom_Penh"="SE Asia Standard Time";"Asia/Pyongyang"="Korea Standard Time";"Asia/Qatar"="Arab Standard Time";"Asia/Rangoon"="Myanmar Standard Time";"Asia/Riyadh"="Arab Standard Time";"Asia/Saigon"="SE Asia Standard Time";"Asia/Seoul"="Korea Standard Time";"Asia/Shanghai"="China Standard Time";"Asia/Shanghai Asia/Chongqing Asia/Harbin Asia/Kashgar Asia/Urumqi"="China Standard Time";"Asia/Singapore"="Singapore Standard Time";"Asia/Taipei"="Taipei Standard Time";"Asia/Tashkent"="West Asia Standard Time";"Asia/Tashkent Asia/Samarkand"="West Asia Standard Time";"Asia/Tbilisi"="Georgian Standard Time";"Asia/Tehran"="Iran Standard Time";"Asia/Thimphu"="Bangladesh Standard Time";"Asia/Tokyo"="Tokyo Standard Time";"Asia/Ulaanbaatar"="Ulaanbaatar Standard Time";"Asia/Ulaanbaatar Asia/Choibalsan"="Ulaanbaatar Standard Time";"Asia/Vientiane"="SE Asia Standard Time";"Asia/Vladivostok"="Vladivostok Standard Time";"Asia/Vladivostok Asia/Sakhalin Asia/Ust-Nera"="Vladivostok Standard Time";"Asia/Yakutsk"="Yakutsk Standard Time";"Asia/Yakutsk Asia/Khandyga"="Yakutsk Standard Time";"Asia/Yekaterinburg"="Ekaterinburg Standard Time";"Asia/Yerevan"="Caucasus Standard Time";"Atlantic/Azores"="Azores Standard Time";"Atlantic/Bermuda"="Atlantic Standard Time";"Atlantic/Canary"="GMT Standard Time";"Atlantic/Cape_Verde"="Cape Verde Standard Time";"Atlantic/Faeroe"="GMT Standard Time";"Atlantic/Reykjavik"="Greenwich Standard Time";"Atlantic/South_Georgia"="UTC-02";"Atlantic/Stanley"="SA Eastern Standard Time";"Atlantic/St_Helena"="Greenwich Standard Time";"Australia/Adelaide"="Cen. Australia Standard Time";"Australia/Adelaide Australia/Broken_Hill"="Cen. Australia Standard Time";"Australia/Brisbane"="E. Australia Standard Time";"Australia/Brisbane Australia/Lindeman"="E. Australia Standard Time";"Australia/Darwin"="AUS Central Standard Time";"Australia/Hobart"="Tasmania Standard Time";"Australia/Hobart Australia/Currie"="Tasmania Standard Time";"Australia/Perth"="W. Australia Standard Time";"Australia/Sydney"="AUS Eastern Standard Time";"Australia/Sydney Australia/Melbourne"="AUS Eastern Standard Time";"CST6CDT"="Central Standard Time";"EST5EDT"="Eastern Standard Time";"Etc/GMT"="UTC";"Etc/GMT+1"="Cape Verde Standard Time";"Etc/GMT+10"="Hawaiian Standard Time";"Etc/GMT+11"="UTC-11";"Etc/GMT+12"="Dateline Standard Time";"Etc/GMT+2"="UTC-02";"Etc/GMT+3"="SA Eastern Standard Time";"Etc/GMT+4"="SA Western Standard Time";"Etc/GMT+5"="SA Pacific Standard Time";"Etc/GMT+6"="Central America Standard Time";"Etc/GMT+7"="US Mountain Standard Time";"Etc/GMT-1"="W. Central Africa Standard Time";"Etc/GMT-10"="West Pacific Standard Time";"Etc/GMT-11"="Central Pacific Standard Time";"Etc/GMT-12"="UTC+12";"Etc/GMT-13"="Tonga Standard Time";"Etc/GMT-2"="South Africa Standard Time";"Etc/GMT-3"="E. Africa Standard Time";"Etc/GMT-4"="Arabian Standard Time";"Etc/GMT-5"="West Asia Standard Time";"Etc/GMT-6"="Central Asia Standard Time";"Etc/GMT-7"="SE Asia Standard Time";"Etc/GMT-8"="Singapore Standard Time";"Etc/GMT-9"="Tokyo Standard Time";"Europe/Amsterdam"="W. Europe Standard Time";"Europe/Andorra"="W. Europe Standard Time";"Europe/Athens"="GTB Standard Time";"Europe/Belgrade"="Central Europe Standard Time";"Europe/Berlin"="W. Europe Standard Time";"Europe/Berlin Europe/Busingen"="W. Europe Standard Time";"Europe/Bratislava"="Central Europe Standard Time";"Europe/Brussels"="Romance Standard Time";"Europe/Bucharest"="GTB Standard Time";"Europe/Budapest"="Central Europe Standard Time";"Europe/Chisinau"="GTB Standard Time";"Europe/Copenhagen"="Romance Standard Time";"Europe/Dublin"="GMT Standard Time";"Europe/Gibraltar"="W. Europe Standard Time";"Europe/Guernsey"="GMT Standard Time";"Europe/Helsinki"="FLE Standard Time";"Europe/Isle_of_Man"="GMT Standard Time";"Europe/Istanbul"="Turkey Standard Time";"Europe/Jersey"="GMT Standard Time";"Europe/Kaliningrad"="Kaliningrad Standard Time";"Europe/Kiev"="FLE Standard Time";"Europe/Kiev Europe/Simferopol Europe/Uzhgorod Europe/Zaporozhye"="FLE Standard Time";"Europe/Lisbon Atlantic/Madeira"="GMT Standard Time";"Europe/Ljubljana"="Central Europe Standard Time";"Europe/London"="GMT Standard Time";"Europe/Luxembourg"="W. Europe Standard Time";"Europe/Madrid Africa/Ceuta"="Romance Standard Time";"Europe/Malta"="W. Europe Standard Time";"Europe/Mariehamn"="FLE Standard Time";"Europe/Minsk"="Kaliningrad Standard Time";"Europe/Monaco"="W. Europe Standard Time";"Europe/Moscow"="Russian Standard Time";"Europe/Moscow Europe/Samara Europe/Volgograd"="Russian Standard Time";"Europe/Oslo"="W. Europe Standard Time";"Europe/Paris"="Romance Standard Time";"Europe/Podgorica"="Central Europe Standard Time";"Europe/Prague"="Central Europe Standard Time";"Europe/Riga"="FLE Standard Time";"Europe/Rome"="W. Europe Standard Time";"Europe/San_Marino"="W. Europe Standard Time";"Europe/Sarajevo"="Central European Standard Time";"Europe/Skopje"="Central European Standard Time";"Europe/Sofia"="FLE Standard Time";"Europe/Stockholm"="W. Europe Standard Time";"Europe/Tallinn"="FLE Standard Time";"Europe/Tirane"="Central Europe Standard Time";"Europe/Vaduz"="W. Europe Standard Time";"Europe/Vatican"="W. Europe Standard Time";"Europe/Vienna"="W. Europe Standard Time";"Europe/Vilnius"="FLE Standard Time";"Europe/Warsaw"="Central European Standard Time";"Europe/Zagreb"="Central European Standard Time";"Europe/Zurich"="W. Europe Standard Time";"Indian/Antananarivo"="E. Africa Standard Time";"Indian/Chagos"="Central Asia Standard Time";"Indian/Christmas"="SE Asia Standard Time";"Indian/Cocos"="Myanmar Standard Time";"Indian/Comoro"="E. Africa Standard Time";"Indian/Kerguelen"="West Asia Standard Time";"Indian/Mahe"="Mauritius Standard Time";"Indian/Maldives"="West Asia Standard Time";"Indian/Mauritius"="Mauritius Standard Time";"Indian/Mayotte"="E. Africa Standard Time";"Indian/Reunion"="Mauritius Standard Time";"MST7MDT"="Mountain Standard Time";"Pacific/Apia"="Samoa Standard Time";"Pacific/Auckland"="New Zealand Standard Time";"Pacific/Auckland Antarctica/South_Pole"="New Zealand Standard Time";"Pacific/Efate"="Central Pacific Standard Time";"Pacific/Enderbury"="Tonga Standard Time";"Pacific/Fakaofo"="Tonga Standard Time";"Pacific/Fiji"="Fiji Standard Time";"Pacific/Funafuti"="UTC+12";"Pacific/Galapagos"="Central America Standard Time";"Pacific/Guadalcanal"="Central Pacific Standard Time";"Pacific/Guam"="West Pacific Standard Time";"Pacific/Honolulu"="Hawaiian Standard Time";"Pacific/Johnston"="Hawaiian Standard Time";"Pacific/Majuro Pacific/Kwajalein"="UTC+12";"Pacific/Midway"="UTC-11";"Pacific/Nauru"="UTC+12";"Pacific/Niue"="UTC-11";"Pacific/Noumea"="Central Pacific Standard Time";"Pacific/Pago_Pago"="UTC-11";"Pacific/Palau"="Tokyo Standard Time";"Pacific/Ponape Pacific/Kosrae"="Central Pacific Standard Time";"Pacific/Port_Moresby"="West Pacific Standard Time";"Pacific/Rarotonga"="Hawaiian Standard Time";"Pacific/Saipan"="West Pacific Standard Time";"Pacific/Tahiti"="Hawaiian Standard Time";"Pacific/Tarawa"="UTC+12";"Pacific/Tongatapu"="Tonga Standard Time";"Pacific/Truk"="West Pacific Standard Time";"Pacific/Wake"="UTC+12";"Pacific/Wallis"="UTC+12";"PST8PDT"="Pacific Standard Time"}
    return $h.Get_Item($unixTZName)
}

$j = Invoke-WebRequest -Uri http://freegeoip.net/json/ | ConvertFrom-Json

#Debug
Write-Host ($j | Format-Table | Out-String)
#Write-Host "http://api.timezonedb.com/?lat=$($j.lat)&lng=$($j.lng)&format=json&key=$($timezonedbAPIkey)"
#Write-Host ($t | Format-Table | Out-String)
Write-Host "$(getWindowsTZFromUnix($j.time_zone))"


#Determine if time zones are different
if((tzutil /g) -eq (getWindowsTZFromUnix($j.time_zone))) {
    Write-Host "Not updating, time zone unchanged."
    Exit
}

Write-Host "Previous TZ: $(tzutil /g)"
tzutil /s ""$(getWindowsTZFromUnix($j.time_zone))""
Write-Host "TZ now set to: $(tzutil /g)"
0

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.

http://www.microsoft.com/downloads/en/details.aspx?FamilyID=bff59fcf-3148-40b8-a286-fe7274f6e4d8

1
-1

you will have to get a soft for this as don't know another way to get this to work in windows (as configuring NTP will not be affected with time zone changes) and you may try Atomic Clock Sync.

1
  • Thanks. Looked at atomic clock sync and it doesn't seem to do what I had in mind. Any other ideas?
    – Suan
    May 22, 2011 at 1:39

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .