
Windowsなどの一般的なOSでは、インターネット上にあるNTPサーバー(時刻配信サーバー)に接続して自分自身の日時を合わせる時刻同期機能が搭載されています。
これは、時刻のずれが大きくなると、インターネット上のサーバーに接続できなくなったり、更新プログラムをダウンロードできなくなったりと、さまざまな機能の動作に影響を及ぼすからです。
そこでここでは、Windowsで時刻を同期する方法や、時刻同期の設定を調整する方法を解説します。
目次
Windowsの設定から調整する
NTPサーバーと自動的に同期させる
Windowsで時刻の同期設定を調整するときは、Windowsの「設定」>「時刻と言語」から調整します。

「時刻と言語」画面が表示されるので「日付と時刻」で「時刻を自動的に設定する」をオンにすることで、NTPサーバー「time.windows.com」に接続して自動的に時刻を調整してくれます。(デフォルトでオンに設定されているはずです。)

今すぐNTPサーバーと同期する
時刻を今すぐNTPサーバーと同期したいときは「時刻を同期する」にある「今すぐ同期」をクリックすることで、時刻のズレを修正できます。

参照するNTPサーバーを変更する
Windowsで参照するNTPサーバーはデフォルトは「time.windows.com」という海外のサーバーのため、時刻精度を高めたいときは契約しているISPが提供しているNTPサーバーや国内の公開NTPサーバーを参照するよう変更したい場合があります。
コントロールパネルから参照するNTPサーバーを変更する手順は、次のとおりです。
まず、スタートメニューのプログラム一覧などから「コントロールパネル」を起動します。

「コントロールパネル」が開いたら「時計と地域」をクリックします。

「時刻と地域」画面が表示されたら「日付と時刻の設定」をクリックします。

「日付と時刻」画面が開くので「インターネット時刻」タブを選択し「設定の変更」をクリックします。

「インターネット時刻設定」画面が開くので「サーバー」欄にNTPサーバーのアドレスを入力し「今すぐ更新」をクリックします。
国内で提供されている公開NTPサーバーを指定したい場合は「独立行政法人 情報通信研究機構」が公開しているNTPサーバー「ntp.nict.jp」がおすすめです。

画面下に「時刻は正常に2021/XX/XX XX:XXにntp.nict.jpと同期しました。」と表示されれば、正常に同期できています。
最後に「OK」をクリックすれば、NTPサーバーの変更完了です。

企業などでActive Directoryドメインで管理されているWindowsマシンは、ドメインコントローラーと時刻同期するよう設定されており、ここで紹介した方法で時刻同期設定を勝手に変更してはいけません。
タイムゾーンを変更する
タイムゾーンを変更したいときは「日付と時刻」で「タイムゾーンを自動的に設定する」をオフにしてから、日本国内であればタイムゾーンを「(UTC+09:00) 大阪、札幌、東京」に設定します。

手動で日時を設定する
「時刻と言語」の設定画面で「日付と時刻」の「時刻を自動的に設定する」をオフにします。

すると「日付と時刻を手動で設定」にある「変更」ボタンをクリックできるようになるので、クリックします。

「日付と時刻の変更」画面が表示されるので、日時を設定して「変更」をクリックします。

コマンド操作で調整する
NTPサーバーと自動的に同期させる
時刻の同期設定をコマンドで変更するときは、管理者権限でPowerShellを起動し、以下のコマンドを実行して「Windows Time」サービスを起動します。
PS> Start-Service -Name W32Time次に、以下のコマンドを実行して設定されているNTPサーバーと自動的に同期するよう設定します。
PS> w32tm /config /syncfromflags:ALL今すぐNTPサーバーと同期する
設定されているNTPサーバーと即時で同期するときは、「Windows Time」サービスを起動してから、以下のコマンドを実行します。
PS> w32tm /resync /rediscoverつぎに、以下のコマンドを実行して正常に同期されているかを確認します。
PS> w32tm /query /statusソース欄で同期先のNTPサーバーが確認でき、最終正常同期時刻が更新されていれば、問題なく時刻同期されています。

参照するNTPサーバーを変更する
コマンド操作で参照するNTPサーバーを変更したいときは「Windows Time」サービスを起動してから、以下のコマンドを実行して参照するNTPサーバーを変更します。(「ntp.nict.jp」部分で参照するNTPサーバーを指定します。)
PS> w32tm /config /update /manualpeerlist:"ntp.nict.jp,0x8" /syncfromflags:MANUALコマンド実行後「コマンドは正しく完了しました。」と表示されればOKです。

タイムゾーンを変更する
タイムゾーンの設定を変更するときは、まず以下のコマンドを実行して現在の設定を確認します。
PS> Get-TimeZone日本国内の場合、タイムゾーンが「(UTC+9:00)大阪、札幌、東京」に設定されているはずです。

タイムゾーンを設定し直す場合は、以下のコマンドを実行します。
PS> Set-TimeZone -Id "Tokyo Standard Time"上のコマンドでは、タイムゾーンを日本「Tokyo Standard Time」で指定していますが、日本以外のタイムゾーンを指定する場合は、以下のコマンドレットであらかじめ目的のタイムゾーンのIDを調べてから設定します。
PS> Get-TimeZone -ListAvailable
手動で日時を設定する
日時を手動設定するときは、NICT(情報通信研究機構)が提供しているWebAPIを使って設定したり、手打ちで日時を設定できます。
インターネットに接続できる状態で日時を手動設定するときは、NICTのWebAPIを使って設定するのがお手軽で、管理者としてPowerShellを起動し、以下のコマンドを順に実行します。
PS> $UnixJST = [datetime]"1970/01/01 09:00:00"
PS> Set-Date $UnixJST.AddSeconds((Invoke-RestMethod -Uri https://ntp-a1.nict.go.jp/cgi-bin/json).st)手入力で日時を設定するときは、管理者としてPowerShellを起動し、Set-Dateコマンドレットを使って「yyyy/MM/dd HH:mm:ss」形式で日時を指定して設定できます。
PS> Set-Date -Date "2021/09/02 19:57"また、Windowsコマンドのdateコマンドやtimeコマンドを使えば、現在の設定と違っている場合のみ日付や時刻を入力することで、日時を簡単に設定できます。(設定時は管理者としてコマンドプロンプトを起動します。)
> date
現在の日付: 2026/02/14
新しい日付を入力してください: (年-月-日)
> time
現在の時刻: 22:59:52.83
新しい時刻を入力してください:手動で日時を設定するときに、時刻の自動同期をオフにしておきたいなら、「Windows Time」サービスを起動してから、以下のコマンドを実行して時刻の自動同期もオフに設定しておけば、手動設定後に自動的に日時が修正されてしまうのを防げます。
PS> w32tm /config /update /syncfromflags:NO