Código de lote:
@echo off
for /f "tokens=1*" %%a in ('TZUTIL /g') do set TZID=%%a %%b
SetLocal EnableDelayedExpansion
for /f "tokens=1-4" %%a in ('TZUTIL /L') do (
set $U=%%a& if "!$U:~0,5!"=="(UTC+" set $TZDN=%%b %%c %%d
if "%%a %%b %%c %%d"=="!TZID!" set TZDN=!$TZDN!& goto :found
)
:found
echo !TZDN!&pause
rem TZID=TimeZone ID, TZDN=TimeZone Display Name
Eu uso o código acima para obter TimeZone DispalyName TZDN com base no TimeZone ID TZID
Existe um código mais simples para obter TimeZone DispalyName ?
Este código funciona para mim:
O valor do fuso horário se parece com
(UTC+xx) yyy zzz
.Este código obtém a parte do fuso horário depois
)
(excluindo o espaço em branco).Referência: Como fazer: Extrair parte de uma variável (substring) .