Unix タイムスタンプの疑問

Unix タイムスタンプの疑問

タイムスタンプを変換していましたここ、私は次のことを読みました:

また、このサイトの訪問者からのコメントのおかげで、この時点は技術的には地球上のどこにいても変わらないことも指摘しておく必要があります。これは、オンラインとクライアント側の両方で、動的な分散アプリケーションで日付付き情報を追跡および並べ替えるコンピュータ システムにとって非常に便利です。

これが正確に何を意味するのか理解できませんでした。UNIX タイムスタンプは絶対的な尺度なのでしょうか?

つまり、米国にクライアントがいて、このクライアントがロシアにあるサーバーに接続するとします。Unix タイムスタンプは、クライアントとサーバーの両方で同じ瞬間にまったく同じになりますか? 少し混乱しています...

答え1

正しく構成されたマシンでは、UNIX タイムスタンプは 1970 年 1 月 1 日 00:00:00 UTC からの秒数です。したがって、ユーザーまたはコンピューターがどの国またはタイムゾーンにいても、同じになります。

答え2

明らかに、サーバーのクロックが同期していない可能性があります。

しかし、重要なのは、正しい特定の瞬間のタイムスタンプの値は、場所に関係なく同じです。

あなたの例はあまり関係ありません。ロシアと米国の間には遅延があるため、正確な時計を使用しても2つの異なるタイムスタンプが得られる可能性があります。しかし、時間離れています。ネットワークの問題がない限り、数秒程度の差しかありません。

答え3

タイムスタンプ 0 は、正確な時刻 (どのタイムゾーンにも関連しない) に対応し、1970-01-01 00:00:00 UTC としても知られています (ただし、当時は UTC は存在していませんでした)。

タイムスタンプ 1512148141 は、その 1512148141 秒後であり、これらの秒は原子秒ではなく、地球の 1 日の平均 86400 分の 1 です。

繰り返しますが、これは特定の瞬間を参照するものであり、タイムゾーンとは関係ありません。

これは、UTC では 2017-12-01T17:09:01、シカゴでは 2017-12-01T11:09:01-06:00、カラチでは 2017-12-01T22:09:01+05:00 であり、すべて同じ瞬間を指します。

関連情報