簡単にNTP経由で超正確な時間設定を行う方法

皆さんは数十ミリ秒オーダの正確な時間が欲しい時ってありませんか?
例えば、何らかの自動化ソフトでネット経由で指定した時間に注文や申込みを行わせたりなどなど・・・

でもPC内臓の時計とかだと、平気で1日数秒ズレたりして使いもになりません。
また、Windows内臓のNTP同期でも、既存設定のままだと1秒以下のズレが思うように修正されない場合などがあったりします。

そこで、今回はフリーソフトの桜時計を使用した、超正確な時間を簡単にPCに刻ませる方法をご紹介させていただきます。

NTPとは

まず、桜時計を使用する前に簡単にNTPについて説明いたします。

NTPとは、インターネット経由でNTPサーバ(原子時計という3000万年に1秒しかズレない精度で時を刻む時計を内蔵したサーバや、そのサーバに同期した下位サーバ)とパソコンの時間を一致させる仕組みです。
世界中で動作するサーバのほとんどはこの時間に準拠しているため、NTP経由でパソコンの時間を同期させると、パソコンの処理をサーバの受付開始時間などに合わせて正確に実行できるようになります。

桜時計インストール・使用法
インストール

桜時計のインストールはとても簡単で、Vector経由(このリンク)にアクセスして、桜時計をダウンロードしてください。

その後、Lhaplusなどの圧縮ファイル解凍ソフトなどで、LZH書庫の中身を取り出して、適当な場所に設置すればインストール完了です。

使用方法

1.桜時計の実行ファイル「SKRWATCH.EXE」を右クリックして、「管理者として実行」を選択して、管理者モードで起動してください。
(管理者モードで起動しないと、PCの時刻設定が権限の問題で行えないので、必ず管理者として実行してください)

2.桜時計の設定ウィンドウを開き、以下のように設定してください。
temp

設定内容は、NICT(国立 情報通信研究機構)のNTPサーバに、1ミリ秒以下の精度で同期させるという設定です。

※もし実行ファイルを実行してもこのウィンドウが表示されない場合は、タスクトレイの以下のようなアイコンをダブルクリックして表示してください。

temp

桜時計のタスクトレイアイコン

3.設定が完了したら、以下の赤矢印の場所にあるオンラインをクリックします。
 temp

オンラインをクリックすると、NTPサーバと同期後、時刻を進めたか・遅らせたかがログに表示されます。

4.最後にPCの時計が本当に正確に同期されているか、NICTが公開している日本標準時とパソコンの時刻のズレを表示するサイトで確認します。
JST Clock ( https://www.nict.go.jp/JST/JST5.html )

また、Windowsマシンなら、コマンドプロンプトを起動(Windowsキー+Rボタン→cmdと入力して実行)して、以下のコマンドを入力することでも、日本標準時とパソコンの時刻のズレを確認することができます。

w32tm /stripchart /computer:ntp.nict.jp /period:10

以下がコマンドの実行結果で、赤枠の部分の誤差が±0.01秒未満となっていればOKです。

temp

桜時計の自動起動設定

桜時計をPC起動毎に手動で管理者として実行するのは結構面倒だったりします。

そこで、以下の方法で自動起動させるようにすれば便利かと思います。

自動起動設定方法

1.以下どちらかの手順でタスクスケジューラを起動します。
  ・Windowsキー→「タスクスケジューラ」と入力→実行
  ・Windowsキー+Rボタン押下→「taskschd.msc」と入力→実行

2.赤矢印箇所にある基本タスクの作成をクリックします。
  temp

3.ウィザード画面が起動するので、名前の箇所に「桜時計」と入力します。temp

次へをクリック。

4.実行タイミングをログオン時(赤矢印部分)に設定します。

temp

次へをクリック。

5.タスクの実行動作をプログラムの開始(赤矢印)に設定します。

temp

次へをクリック。

6.プログラム/スクリプトの箇所に桜時計の実行ファイルへのパスを設定します。
※「桜時計の設置場所」という文字を、実際の桜時計の実行ファイルがあるパスに置き換えてください。

temp

次へをクリック

7.設定内容が表示されるので、赤矢印部分([完了]をクリックしたときに~)の箇所にチェックを入れて、完了ボタンをクリックします。

temp

8.完了ボタンをクリック後、以下のプロパティ画面が表示されるので、赤矢印部分の「最上位の特権で実行する」にチェックを入れます。

temp

次にトリガータブへ移動します。

9.トリガータブに移動したら、トリガー「ログイン時」をダブルクリックして、トリガーの編集画面を表示します。

temp

トリガーの編集画面を表示したら、赤矢印付近の「遅延時間を指定する」にチェックを入れ、遅延時間を「1分間」に設定してOKボタンを押します。

temp

OKボタンを押した後、桜時計のプロパティ画面もOKボタンを押して閉じてください。

10.再起動を行い1分間待機後、タスクトレイに以下のアイコンが表示されていることを確認してください。

temp

桜時計のタスクトレイアイコン

また、アイコンをダブルクリックして画面を表示させ、以下のように時間を進ませたor遅らせたか表示されていることを確認してください。

temp

以上で自動起動の設定は終わりです。

自動起動設定削除方法

自動起動を設定後、やはり自動起動は不要となった場合に、以下の手順で自動起動を解除してください。

1.以下どちらかの手順でタスクスケジューラを起動します。
  ・Windowsキー→「タスクスケジューラ」と入力→実行
  ・Windowsキー+Rボタン押下→「taskschd.msc」と入力→実行

2.以下の画面で、以下の通り操作を行い、タスクの削除を行ってください。

temp

1.左側のツリーから「タスクスケジューラライブラリ」を選択します。
2.選択後、真ん中のリストにタスク一覧が表示されるので、「桜時計」を選択します。
3.「桜時計」を右クリックし、「削除」を選択してください。

設定削除方法は以上です。

さいごに

今回は、正確な時刻を簡単に得られる方法をご紹介しました。
先着順申込みをよく利用する身としては、1秒未満まで正確な時刻はかなり重要だったりします。

この記事が私みたいな時間にこだわりを持っている方の役に立てたら幸いです。

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

コメント

  1. よしよし より:

    桜時計を久しぶりに使ってようかなとも思っているのですが20年前に開発が終わっているソフトなのでセキュリティ面で使って大丈夫なのか心配です
    EMETとの併用で使ってみようかとも思っているのですがそれでも果たして大丈夫なものなのか迷っています

    • negi より:

      コメントありがとうございます。お返事遅くなり申し訳ありません。
      桜時計自体はあくまでNTPクライアントであり、サーバ動作は行わないため
      同期先にNICTなどの信頼のおけるサーバを指定している限りは、外部から任意コード実行などのセキュリティリスクはないものと考えます。