Let's Standardize the 1970 Epoch

billpg1 pts0 comments

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,...

seconds leap second time since document

Related Articles