日付を表示/設定する date

Windowsコマンドではdateコマンドが日付の表示と設定に対応している。

この動作はLinuxのdateコマンドと似たものだ。ただし、Linuxのdateコマンドはかなり多機能なのに対して、Windowsのdateコマンドは実にシンプルという違いがある。

dateコマンドの使い方

date [/t | 年-月-日]

Linuxのdateコマンドは日付だけではなく時分秒まで対応している。

日時の表示と設定はもちろん、指定した時間の分だけ未来の日時や過去の日時を出力させることもできるし、出力するフォーマットを変更することもできる。さらにデータとして任意形式の日付データを受け取って変換するといったこともできる。

プログラミング言語で行うような作業をできるレベルの機能が実装されており、ちょっとしたプログラミング言語のようでもある。

しかし、Windowsのdateコマンドはシンプルだ。日付の表示と設定だけが機能として提供されている。

dateコマンドの使い方

dateコマンドの使い方は簡単だ。次のように引数なしで実行すると、現在の日付が表示され、さらに日付設定用のプロンプトが表示される。

dateコマンドの基本的な使い方

日付だけが表示されればよく、日付を設定する必要がないのであれば、パラメータとして/tを指定するという方法がある。/tパラメータを指定すると日付が表示されるだけとなる。

/tパラメータを指定すると日付が表示されるだけとなる

dateコマンドは引数に日付を指定すると、その日付にシステムの日付を変更してくれる。ただし、この操作には管理者権限が必要で、管理者権限のない状態で実行しても次のようにエラーが出て処理は行われない。

日付の設定には管理者権限が必要

管理者権限でコマンドプロンプトを起動して実行すると次のように日付の設定が行われるようになる。日付のフォーマットはロケールごとに異なっており、日本の場合には「年-月-日」で指定する。

年と月と日の間にはデリミタを指定する必要があり、デリミタとしては「.」「/」「-」のどれかが指定できる。利用するデリミタは統一する必要はなく、次のように組み合わせて指定することもできる。

管理者権限のあるコマンドプロンプトで日付を設定

日付の設定はLinuxのdateコマンドでも似たような感じで設定するので、このあたりは飲み込みやすいところだろう。

日時を元に戻す方法

dateコマンドを使って日付を2000年1月1日に設定すると、当然だが次のように使われる時間が2000年1月1日になる。

dateコマンドによって2000年に戻ってしまった日付

今のWindowsは自動的に日付を正確な値に同期してくれるので、放っておけば元に戻る。明示的に戻すなら、次のように日付の上でメニューを表示させて「日付と時刻の調整」を選択する。

タスクバーに表示されている日付でメニューを表示させ「日付と時刻の調整」を選択

起動してくるダイアログに「時刻を自動的に設定する」という項目があるので、ここを一旦オフにしてから、オンに戻す。オンに戻した段階で時刻が同期して現在時刻に戻る。

「時刻を自動的に設定する」をオフ・オンすることで明示的に現在時刻へ同期させる

WindowsのGUIが提供されるようになってから日付をコマンドで設定するというのはやらなくなったように思う。現在のようなGUIが提供される前はコマンドで設定するのが基本的なやり方だった。現在では使うシーンはそれほどないが、知っておいて損なはないだろう。

参考資料