From 47da6ad4cc055b638ab4d5edb9644f6b1b0b6b50 Mon Sep 17 00:00:00 2001 From: heinrich5991 Date: Tue, 22 Aug 2023 17:36:36 +0200 Subject: [PATCH] Clarify that Unix timestamps disregard leap seconds since 1970 Fixes #1626. --- .../appendices/newsfragments/1627.clarification | 1 + content/_index.md | 11 ++++++++--- 2 files changed, 9 insertions(+), 3 deletions(-) create mode 100644 changelogs/appendices/newsfragments/1627.clarification diff --git a/changelogs/appendices/newsfragments/1627.clarification b/changelogs/appendices/newsfragments/1627.clarification new file mode 100644 index 00000000..ebb32987 --- /dev/null +++ b/changelogs/appendices/newsfragments/1627.clarification @@ -0,0 +1 @@ +Clarify timestamp specification with respect to leap seconds diff --git a/content/_index.md b/content/_index.md index 69832f2e..3a595089 100644 --- a/content/_index.md +++ b/content/_index.md @@ -419,9 +419,14 @@ into the `m.` namespace. ### Timestamps -Unless otherwise stated, timestamps are measured as milliseconds since -the Unix epoch. Throughout the specification this may be referred to as -POSIX, Unix, or just "time in milliseconds". +Unless otherwise stated, timestamps are [Unix +timestamps](https://en.wikipedia.org/wiki/Unix_time), but measured in +milliseconds. This means, they approximate the number of milliseconds +since 1970-01-01 00:00:00.000 UTC, but disregard leap seconds so that +each day is precisely 86,400,000 milliseconds. This also means that +timestamps can repeat. Most programming languages provide timestamps in +that format natively. Throughout the specification this may be referred +to as POSIX, Unix, or just "time in milliseconds". ## Specification Versions