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