DOSコマンド > 現在日時を取得する

2014-03-03 18:02:24 (Mon);

バッチ(DOSコマンド)で現在日時を取得する。
日時の形式はお好みで。

:retry
set D=%DATE%
set T=%TIME: =0%
if not %D% == %DATE% goto retry

set YYMMDD_HHMMSS=%D:~-8,2%%D:~-5,2%%D:~-2%_%T:~0,2%%T:~3,2%%T:~6,2%
REM set YYYYMMDDHHMMSS=%D:~-10,4%%D:~-5,2%%D:~-2%%T:~0,2%%T:~3,2%%T:~6,2%
REM set YYMMDD %D:~-8,2%%D:~-5,2%%D:~-2%
REM set HHMMSS %T:~0,2%%T:~3,2%%T:~6,2%


補足)なぜ :retry しているか。

日時を同一コマンドで取得する事ができない。
もし時間を取得したときにちょうど日が変わってしまった場合に
一日分ずれてしまう可能性があるため。

set D=%DATE%     ※1999/12/31 23:59:59.99
set T=%TIME: =0%   ※2000/01/01 00:00:00.00

:retryしないと「1999/12/31 00:00:00」になってしまう。





最終更新:2014年03月03日 18:02