Boring Time

Background

The way humans keep time is unnecessarily complicated. Time should be more boring.

Boring Time

This is a method of measuring time and date that makes calculations dead simple. That means no timezones, daylight saving time, leap years, leap seconds and other weirdness.

Playground

Change any value to stop the clock. Clear any value to resume.

The Coincidence

The ratio of the lengths of the year and day1, 365.2422, can be very closely approximated by the fraction 46,751 / 128. We’ll make use of this fact.

For comparison, the Gregorian Calendar with its “leap year every 4 years, except every 100, except every 400” rule results in an average of 365.2425, which is a less accurate approximation.

1 mean solar year to mean solar day. Due precession this ratio varies more than the error in the boring approximation.

Durations

Converting between these units uses normal multiplication and division. While it is well-defined to specify a duration as a combination of multiple units (like 2 years and 26 weeks), this is discouraged: just use decimals (2.5 years).

Date and Time

The duration between a moment in time and the Boring Epoch (see below) is the Boring Timestamp. In contexts where decimals are permissible, it should be expressed in years; otherwise bors, millibors or microbors may be used based on the required precision. This sentence was written on 2022 Nov 5 at 18:25 SGT, which has the Boring Timestamp 2022.845705.

Most date math involving durations is done using Timestamps, but for use in daily life they may be represented using friendlier Boring Datetimes. It’s made up of the following components, separated by dots:

The timestamp above can also be written as the Boring Datetime 2022.44.6.75.56.

Quirks

Compared to our current Gregorian time system, there are a few key differences in when the boring day and year advances.

Calculations

Convert Unix timestamp to Boring Timestamp

Given a Unix timestamp t in seconds, the Boring Timestamp T in bors is t / 675 + 92,099,476.

Convert Boring Timestamp to Unix timestamp

Given a Boring Timestamp T in bors, the Unix timestamp t in seconds is (T - 92,099,476) * 675.

Convert Boring Timestamp to Boring Datetime

Given a timestamp T in bors,

where ⌊ … ⌋ represents the floor function and % the modulo operation.

Convert Boring Datetime to Boring Timestamp

Given a Year, Week, Day and Bor, the Boring Timestamp T is 896 × (⌊ 46,751 Y / 896 ⌋ + W) + 128 D + B.

The Boring Epoch

The Boring Epoch, i.e. the moment at which the Boring Timestamp was 0, was chosen to meet the following compatibility considerations:

Accorrdingly, the Boring Epoch is 1 January 0001 BCE, at 00:00 in UTC+03:45.

FAQ