地球上のある地域に置かれたコンピュータが現在時刻を決定するには、 次の二つの情報を正確に知る必要があります。
正しい UTC 時刻 (グリニッジにおける世界時。 ただし GMT ではない)
その地域の現在のタイムゾーン
コンピュータにはハードウェアクロックも付属しており、 OS は自分の時刻を設定するときにこれを基準として用います。
OS の日付と時刻 (以降では日付/時刻のいずれかのみを書きます) は起動時に設定されます。 何らかのスクリプトがハードウェアクロックを読み、 またタイムゾーンを計算して OS に設定します (BIOS にはタイムゾーンのデータは保存されていません)。 この同期がなされて以降は、BIOS の時刻と OS の時刻とは完全に独立したものとなります。 ですからしばらく経った後では、両者が数秒異なることもあるかもしれません。 どちらが正しいのでしょうか? 何らかの設定をしていない限り、どちらも正しくはありません。
ここでは、この両者を 地球上のあらゆる場所で 100% 正確にする 方法について議論していきます。