Windowsでシステムの日付や時刻を変更するには、GUIGUI [ジーユーアイ / グーイ]Graphical User Interface。グラフィカルな操作画面画面(設定やコントロールパネル)から行うのが一般的ですが、コマンドプロンプトやPowerShellを使用してコマンドラインから変更することも可能です。
この記事では、「Windowsの時刻を変更するコマンド」について解説します。
1. コマンドプロンプトで時刻を変更する方法
コマンドプロンプトで時刻や日付を変更するには、それぞれ専用のコマンドを使用します。 注意点として、これらのコマンドを実行するには「管理者として実行」したコマンドプロンプトが必要です。
time コマンド(時刻の変更)
timeコマンドを使用すると、システムの時刻を変更できます。
time [時:分:秒]例えば、時刻を「14時30分00秒」に変更する場合は以下のようになります。
time 14:30:00引数を指定せずに time とだけ入力して実行すると、現在の時刻が表示され、新しい時刻の入力を求められます。(変更しない場合はEnterキーを押します)
date コマンド(日付の変更)
日付を変更する場合は date コマンドを使用します。
date [日付]例えば、日付を「2026年8月20日」に変更する場合は以下のようになります。
date 2026/08/20こちらも引数を指定せずに date と実行すると、現在の日付が表示され、新しい日付の入力を求められます。
※補足:日付の入力フォーマットについて
dateコマンドで対話形式により日付を入力する場合や、引数で日付を指定する場合は、Windowsの現在の日付構成(地域設定など)に従った形式で入力します。
日付の区切り文字としては /、-、. などの文字を使用できます。
2. PowerShellで時刻を変更する方法
PowerShellを使用する場合は、Set-Dateコマンドレットを使用します。
こちらも管理者権限が必要です。
Set-Date コマンドレット
Set-Dateを使用すると、日付と時刻を同時に変更したり、現在の時刻から相対的に時間を進めたり遅らせたりすることができます。
特定の日時に変更する例:
Set-Date -Date "2026/08/20 14:30:00"※注意:文字列による日付指定のリスク
-Date に文字列を渡す場合、システムのロケール設定(短い日付形式)に依存するため、環境(US等)によってはエラーになる可能性があります。より安全に指定する場合は、以下のように Get-Date オブジェクトを利用する方法が推奨されます。
# 例:現在の日付から3日後に変更するSet-Date -Date (Get-Date).AddDays(3)現在の時刻から時間を進める/遅らせる例:
例えば、現在の時刻から30分進める場合は以下のように実行します。
$30mins = New-TimeSpan -Minutes 30Set-Date -Adjust $30mins3. インターネット時刻(NTP)と同期するコマンド
手動で時刻を指定するのではなく、NTPサーバーと通信して正確な時刻に同期させたい場合は、w32tmコマンドを使用します。
(管理者権限のコマンドプロンプトで実行します)
手動同期の実行
w32tm /resyncこのコマンドを実行すると、Windows Timeサービスに設定されているタイムソースに対して再同期を要求し、時刻のズレを修正します。
※実行前の前提条件 このコマンドを成功させるには、Windows Time(W32Time)サービスが起動している必要があります。サービスが停止している場合は、以下のコマンドで開始してから実行してください。
net start w32time※エラー時のトラブルシューティング
w32tm /resync 実行時に「時刻データが利用できなかったため〜」などのエラーが発生する場合、主に以下の要因が考えられます。
- UDPポート123の遮断: ファイアウォール等でNTPの通信がブロックされている。
- DNSDNS [ディーエヌエス]Domain Name System。インターネット上のドメイン名とIPアドレスを紐付けて管理・変換するシステム解決エラー: タイムサーバー名が名前解決できない。
- NTPサーバー側の問題: サーバーがダウンしている、または利用できない。 エラーが出た場合はネットワークやセキュリティ設定を見直して再試行してください。
4. タイムゾーン(Time Zone)を変更・確認するコマンド
時刻そのものではなく、Windowsの「タイムゾーン」を確認・変更したい場合は、標準コマンドである tzutil を使用します。
タイムゾーンの確認
現在の設定を確認するには、以下のコマンドを実行します。
tzutil /gタイムゾーンの変更
タイムゾーンを変更する場合は /s を指定します。例えば「日本標準時(Tokyo Standard Time)」に変更する場合は以下のように実行します。
tzutil /s "Tokyo Standard Time"5. 【補足】WSL2(Linux環境)の時刻ずれ問題について
開発者の間でよく知られている問題として、**「Windowsをスリープ状態から復帰させた後、WSL2上のLinuxLinux [リナックス / ライナックス]オープンソースのOSカーネル環境の時刻がホスト(Windows)と大きくずれる」**という現象があります。
この問題に対処し、WSL2側の時刻をWindowsホストと強制的に同期させるには、WSL2のターミナル(UbuntuUbuntu [ウブントゥ]人気のLinuxディストリビューション等)で以下のコマンドを実行します。
sudo hwclock -sWSL2環境で時刻ズレに起因するエラー(GitGit [ギット]ソースコードの変更履歴を管理する分散型バージョン管理システムのコミット時刻の異常、AWSAWS [エーダブリュエス]Amazon Web Services。Amazonのクラウドサービス等クラウドサービスのAPIAPI [エーピーアイ]Application Programming Interface。異なるソフトウェア間の接続口認証エラーなど)に遭遇した場合は、このコマンドを試してみてください。
まとめ
Windowsで時刻を変更するコマンドは以下の通りです。
- コマンドプロンプト(時刻):
time HH:MM:SS - コマンドプロンプト(日付):
date [日付] - PowerShell:
Set-Date -Date "YYYY/MM/DD HH:MM:SS"(※ロケール依存に注意) - タイムゾーン管理:
tzutil /g(確認),tzutil /s "タイムゾーン名"(変更) - NTP同期:
w32tm /resync
スクリプトでの自動化や、サーバー管理などでGUIが使えない環境ではこれらのコマンドが役立ちます。実行時は必ず管理者権限でコマンドプロンプトやPowerShellを起動してください。
以上で本記事の解説を終わります。
よいITライフを!
人気記事
- 1
- 2
- 3
- 4
- 5
思考の整理というテーマを、実務ですぐに使える具体的な「技術」として落とし込んだ一冊です。