GitHub - billpg/1970EpochalTime: Standardizing the 1970 Epoch · GitHub
/" data-turbo-transient="true" />
Skip to content
Search or jump to...
Search code, repositories, users, issues, pull requests...
-->
Search
Clear
Search syntax tips
Provide feedback
--><br>We read every piece of feedback, and take your input very seriously.
Include my email address so I can be contacted
Cancel
Submit feedback
Saved searches
Use saved searches to filter your results more quickly
-->
Name
Query
To see all available qualifiers, see our documentation.
Cancel
Create saved search
Sign in
/;ref_cta:Sign up;ref_loc:header logged out"}"<br>Sign up
Appearance settings
Resetting focus
You signed in with another tab or window. Reload to refresh your session.<br>You signed out in another tab or window. Reload to refresh your session.<br>You switched accounts on another tab or window. Reload to refresh your session.
Dismiss alert
{{ message }}
billpg
1970EpochalTime
Public
Notifications<br>You must be signed in to change notification settings
Fork
Star
main
BranchesTags
Go to file
CodeOpen more actions menu
Folders and files<br>NameNameLast commit message<br>Last commit date<br>Latest commit
History<br>7 Commits<br>7 Commits
.gitignore
.gitignore
README.md
README.md
View all files
Repository files navigation
Let's Standardize the 1970 Epoch!
The 1970 epoch is one of those things everyone uses and nobody has ever actually written down. It survives through folklore and muscle memory. We all know what “seconds since 1970” means, but try to find a formal definition you can cite and the whole thing dissolves into hand-waving. Even modern documents fall back on phrases like “seconds since the start of 1970 UTC, ignoring leap seconds,” which sounds authoritative until you remember that UTC didn’t exist in its modern form until 1972 and leap seconds don’t politely vanish just because a standard tells them to.
Add in the awkward fact that “Unix” is a trademark, and our most widely used timestamp turns out to be a cultural artifact rather than a specification. So, rather than continuing to rely on tradition and vibes, this document proposes a precise, historically honest definition of the thing we’ve all been using anyway.
This is draft version 0.1 of a possible RFC and I will update this version if I make any substantive edits post-publication. (I’ll reserve versions 1.0 and above for IETF submissions.)
RFC: 1970 Epochal Time
Status of This Memo
This document is an informational specification. It does not define an Internet Standard.
Abstract
This document defines 1970 Epochal Time, a timestamping system that assigns integer values to non-leap SI seconds beginning at 1972-01-01T00:00:00Z. It provides a precise, citable definition of the widely used “seconds since 1970” convention while avoiding the historical ambiguities associated with pre-1972 UTC and the trademark restrictions associated with the term “Unix time”. The system preserves numerical compatibility with existing Unix timestamps for all values greater than or equal to 63 072 000.
1. Introduction
The timestamp convention commonly described as “seconds since 1970” is widely used in computing systems, but it has never been formally defined in a citable standards document. Existing practice typically describes this value as the number of elapsed seconds since 1970-01-01T00:00:00Z, ignoring leap seconds. This description is imprecise and ambiguous for several reasons.
First, Coordinated Universal Time (UTC) in its modern, leap-second-regulated form was not introduced until 1972. No authoritative mapping exists between modern UTC and the years 1970–1971, making it unclear which exact instant in 1970 such timestamps are anchored to. Second, the instruction to “ignore leap seconds” does not specify how timestamps should behave during positive or negative leap seconds, creating ambiguity for both historical and future dates. Third, the term “Unix” is a registered trademark and is therefore unsuitable as the name of a formal standard.
This document defines 1970 Epochal Time, a timestamping system that provides a precise, citable, and historically consistent definition of the widely used “seconds since 1970” convention. It establishes the base of this system at the beginning of 1972, the first moment at which UTC was defined in its current form, and specifies the behavior of timestamps in the presence of leap seconds while preserving numerical compatibility with existing Unix timestamps for all values from that point forward.
This document is a formalization of widespread existing practice only. It does not attempt to repair or improve those practices.
2. Terminology
UTC : Coordinated Universal Time, including leap-second adjustments.
SI second : the base unit of time as defined by [SI].
Non-leap second : an SI second that is not part of a leap-second insertion or deletion.
Positive leap second : a UTC day extended to 86 401 seconds by inserting 23:59:60,...