Windowsのコマンドラインやバッチファイルで日時を出力する

昨今はMacを使っているので、かつてはよく使っていたWindowsやUNIXのことを忘れがちだ。日付や時間を表示する基本的な方法を再確認する。

dateコマンド、timeコマンド

Windowsのコマンド プロンプトを開いてdate、timeと打てば良いのだが、

C:¥> date
現在の日付: 2021/03/15
新しい日付を入力してください: (年-月-日)
C:¥> time
現在の時刻: 19:50:24.45
新しい時刻を入力してください:

というように、日付や時間は表示されるけれども、変更するかどうかを聞いてくるので、変更したくない場合には、ちょっとうっとうしい感じである。

その場合には、

C:¥> date /t
2021/03/15
C:¥> time /t
19:50

このような表記もできる。

コマンドラインやバッチファイルで%date%, %time%

Windowsのプログラムもしたけれど、バッチファイルなどを書くことも楽しいことだった。

バッチファイルの中でも使えるようにするには、次のように表現できる。

C:¥> echo %date%
2021/03/15
C:¥> echo %time%
19:50:48.21

この形式だと様々な応用が可能になる。

C:¥> echo %date% %time%
2021/03/15 19:52:29.55
C:¥> echo %date:~0,4%
2021

というのは、0桁目(先頭1桁目)から4文字という意味になる。

C:¥> echo %date:5,2%
03

C:¥> echo %date:5,5%
03/15

こんな感じだ。

YYYYMMDDHHMMSS形式で表示する

そのためにはまずスラッシュのない年月日。

C:¥> echo %date:/=%
20210315

日付を細かく指定すれば、このように書ける。

C:¥> echo %date:/=% %time:~0,2% %time:~3,2% %time:~6,2%
20210315195543

 

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください