2017-07-15 14 views
0

私は小さな.batスクリプトを実行して、システム時刻をテキストファイルに出力してからOBSにインポートします。しかし、それが使用されているプロジェクトは、Eastern(私のタイムゾーン)の代わりにCentral timeで表示される必要があります。コンピュータの時計のタイムゾーンを変更せずに出力タイムゾーンを変更することは可能ですか?表示されたタイムゾーンをbatファイルから変更する方法

:loop 
 

 
time /T > C:\Users\Brennan\Desktop\time\time.txt 
 

 
time /T 
 

 
timeout /t 15 
 

 
goto loop

+1

'wmic os get CurrentTimeZone'と' tzutil /? ''を参照してください。 – LotPings

答えて

1

コマンドUTF-16リトルエンディアンエンコードwmic path win32_utctime get出力:

Day DayOfWeek Hour Milliseconds Minute Month Quarter Second WeekInMonth Year 
16 0   11     12  7  3  19  4   2017 

この出力はのコマンドで解析し、国際日付/時刻フォーマットYYYY-MM-DD HH:mm:ssウィットコマンドでUTC日​​付/時刻文字列に連結することができますSET

@echo off 
for /F "skip=1 tokens=1,3,4,5,7,9" %%A in ('%SystemRoot%\System32\wbem\wmic.exe path win32_utctime get') do (
    set "Day=0%%A" 
    set "Hour=0%%B" 
    set "Minute=0%%C" 
    set "Month=0%%D" 
    set "Second=0%%E" 
    set "Year=%%F" 
    goto BuildDateTime 
) 

:BuildDateTime 
set "DateTimeUTC=%Year%-%Month:~-2%-%Day:~-2% %Hour:~-2%:%Minute:~-2%:%Second:~-2%" 
echo UTC date/time is: %DateTimeUTC% 

上記の掲載データについては、このバッチファイルの出力は次のようになります使用し理解するための

@echo off 
for /F "skip=1 tokens=3,4,7" %%A in ('%SystemRoot%\System32\wbem\wmic.exe path win32_utctime get') do (
    set "Hour=0%%A" 
    set "Minute=0%%B" 
    set "Second=0%%C" 
    goto BuildTime 
) 

:BuildTime 
set "TimeUTC=%Hour:~-2%:%Minute:~-2%:%Second:~-2%" 
echo UTC time is: %TimeUTC% 

UTC date/time is: 2017-07-16 11:12:19 

コードはまた、単にUTC時刻を取得するように変更することができますコマンドプロンプトウィンドウを開き、次のコマンドを実行し、コマンドごとに表示されるすべてのヘルプページを非常に慎重に読み込みます。

  • echo /?
  • for /?
  • set /?
  • wmic /?
  • wmic path /?
  • wmic path win32_utctime /?
  • ​​
0

ゾーンはtzutilを介して設定することができるが、グローバル(システム全体)の変化である - SETLOCALコマンドがそれをローカライズしないであろう。以下は、一時的に保存し、復元することによって、所望のゾーンを変更ますtzutil間の期間は、システムクロックが変更される呼び出しよう

for /f "delims=" %%z in ('tzutil /g') do (
    rem set desired zone 
    tzutil /s "Central Standard Time" 

    time /T > C:\Users\Brennan\Desktop\time\time.txt 

    rem restore original zone 
    tzutil /s "%%z" 
) 

注変更は、システム全体です。また、スクリプトがtzutil呼び出しの間に中止された場合、システムのタイムゾーンは変更されたままです。