Windowsコマンド(w32tm ntte)

今回は、w32tm /ntte、ついでにw32tm /ntpteも
まずはヘルプ。

w32tm /ntte <NT タイム エポック>
  NT システム時刻 (0h 1-Jan 1601 から (10^-7)s 間隔) を読み取り可能な形式に
  変換します。

w32tm /ntpte <NTP タイム エポック>
  NTP 時刻 (0h 1-Jan 1900 から (2^-32)s 間隔) を読み取り可能な形式に変換します。

ん~。まず、タイム エポックって何ですか。
なんとなくは、分かるんですが、もういちいち言葉の定義増やすなやって思います。

まずは、英次郎(https://eow.alc.co.jp/)で、エポックの意味を調べます。

epoch 
【名】
〔新しい時代を作る〕画期的な[記念すべき]出来事
〔歴史や人生の〕注目すべき[素晴らしい]時代
・The 1960's was an epoch of great change. : 1960年代は大きな変化の時代だった。
《地学》世◆「紀(period)」の下位区分。
《天文》元紀◆天体の位置を定義するために設けられる、任意の瞬間。

ん~。epoch timeとなると、時間を定義するときの任意の瞬間のこと? でしょうか。

英語のwikiを調べます。(https://en.wikipedia.org/wiki/Unix_time)

Unix time passed 1000000000 seconds in 2001-09-09T01:46:40Z.
It was celebrated in Copenhagen, 
Denmark at a party held by DKUUG (at 03:46:40 local time).
Unix time (also known as POSIX time[citation needed] or 
UNIX Epoch time[1]) is a system for describing a point in time.
It is the number of seconds that have elapsed since 00:00:00 Thursday,
1 January 1970,[2] Coordinated Universal Time (UTC), minus leap seconds.
Every day is treated as if it contains exactly 86400 seconds,[2] so leap
seconds are to be subtracted since the epoch.[3] It is used widely in
Unix-like and many other operating systems and file formats. However,
Unix time is not a true representation of UTC, as a leap second in UTC
shares the same Unix time as the second which came before it. Unix time 
may be checked on most Unix systems by typing date +%s on the command line. 

エポックタイムで検索したら思いっきり、Unix timeでヒットしました。
全然知りませんでした(たぶん忘れてるだけですが)。エポックタイムってUnix timeだったんですね。
1970年1月1日午前0時0分0秒からの経過秒数(UTC)
思いっきりヘルプに書いてありましたが、

w32tm /ntte <NT タイム エポック>
  NT システム時刻 (0h 1-Jan 1601 から (10^-7)s 間隔) を読み取り可能な形式に
  変換します。

w32tm /ntpte <NTP タイム エポック>
  NTP 時刻 (0h 1-Jan 1900 から (2^-32)s 間隔) を読み取り可能な形式に変換します。

NTタイムエポックは、 1601年1月1日からの経過秒数
NTPタイムエポックは、1900年1月1日からですかね。
ってことですね。

では、それぞれ1を指定してコマンドを実行してみます。

C:\Users\takk>w32tm /ntte 1
0 00:00:00.0000001 - 1601/01/01 9:00:00

C:\Users\takk>
C:\Users\takk>w32tm /ntpte 1
0x014FCFD27DE04000 - 109401 04:20:16.0000000 - 1900/07/14 13:20:16

C:\Users\takk>

/ntteの方は、理解できたのですが、
/ntpteが16進が表示されていたりと、よくわからない結果になってます。
まあ、/ntpteについては、ついでだったので次回に確認しましょう。

では/ntteで引数をいろいろ指定して確認します。

まず、引数なし。

C:\Users\takk>w32tm /ntte
パラメーターが不足しています

C:\Users\takk>

ちゃんとエラーが表示されました。

次は1秒を指定してみます。

C:\Users\takk>w32tm /ntte 10000000
0 00:00:01.0000000 - 1601/01/01 9:00:01

C:\Users\takk>

コメント

タイトルとURLをコピーしました