Common Calendar

 

 

Common Calendar Timestamp System (CCT) presents a set of computer programming timestamp formats providing technically accurate representation of local time, incorporating Coordinated Universal Time (UTC) leap-seconds, IANA Time Zone Database (TzDb) time zone metadata and geographic coordinates. CCT provides three types of timestamps suitable for various purposes. Each type may be expressed as a binary format for efficient machine interchange or as a human readable character format.

CCT Conventional (CCTC)

CCTC presents a standardized form of traditional timestamps. CCTC can be used in most cases where conventional timestamps are used such as operating systems, file systems, network time, databases and desktops. The binary format is made up of seconds-since-1970 and decimal-fractions-of-seconds together with time zone metadata. An optional extension can support labeling of video and audio media. The character format reflects the binary data in human readable form:

D2024-03-10T03:00:00m999U-06Zamerica/denverV2024aMuX

CCT Media (CCTM)

CCTM is optimized for labeling video and audio media. CCTM includes complete media metadata and supports frame accurate timecode as per the SMPTE ST12-4 UTC Aligned Timecode algorithms. The binary format has a compound counter composed of the date as day-number and time-of-day as seconds-since-start-of-day which is an efficient method of representing SMPTE timecode. It supports many video and audio rates. This example shows the classic NTSC 30000/1001 video rate with drop-frame count mode:

D2024-10-05T12:00;00,29U-06Zamerica/denverV2024aMuX

CCT Enhanced (CCTE)

The CCT “Enhanced” type includes all aspects of TzDb data which are typically not included in timestamps used in common practice. This includes UTC-offset transitions (STDOFF), DST transitions (dstoff), POSIX abbreviated name transitions and leap-second transitions. CCTE is designed to facilitate calculation of time marks within the current day without need for access to external metadata for systems that may require inexpensive timestamp receivers. It is also helpful in development because it reflects all the metadata thus revealing any inaccuracies in algorithms and other formats. It may form the basis of a "forensic tracing" application, useful for "legal time" traceability. Like CCTM it can support video and audio media labeling.

D2024-03-10T03:00:00U-06Zamerica/denverAmdtV2024aL27S01t01a02cMuX

 

The CCT specifications are organized in layers to provide clear guidance on the interpretation of International Earth Rotation Reference Systems Service (IERS) leap-seconds, TzDb information and GIS coordinates, algorithms for UTC calculation, the three CCT types and their binary and character timestamp formats, methods for populating and reading the formats, and a high-level Timestamp API for convenient manipulation of calendaring operations.

CCT provides a c/c++ reference implementation which can generate and read any of the CCT types with their binary and character formats. Central to the CCT implementation is incorporation of the TzDb data and code.  The local time rules in the many time zones all over the world are quite complex.  TzDb has undergone years of development to accommodate these intricate variations and is used directly or indirectly in most operating systems and timekeeping implementations. CCT now employs its functionality for interoperation with existing systems such as Linux, Apple and Android. CCT supports use of Unicode Common Locale Data Repository (CLDR) to map Tz Database time zones to Microsoft Windows time zones.

CCT treatment of UTC is implemented with counting methods to accommodate the common practice of leap-second introduction in local time simultaneous with UTC. It also can accommodate the variations used by NTP and POSIX time. Negative leap-seconds are supported.

CCT provides a robust timestamp system for general purposes and media applications. It may be implemented with sufficient accuracy to satisfy financial regulations and be suitable for use as legal time and traceability provenance. The author hopes the proposal may find support for standardization and looks forward to the community's suggestions for refinement.

 

Common Calendar Specification

UTC Based Local Timescales

Brooks Harris Version 11 2025-02-02

 

Common Calendar Introduction and Scope

Common Calendar Date and Time Terms and Definitions

Common Calendar TAI-UTC API

Common Calendar YMDhms API

Common Calendar Time Zone API

Common Calendar Local Timescales

Common Calendar Timestamp API

Common Calendar Conventional (CBFC)

Common Calendar Media (CBFM)

Common Calendar Enhanced (CBFE)

Common Calendar Geostamp

 

CCT c/c++ Reference Implementation

Common Calendar Reference Implementation Guide

CCTDemoConsole Tests Listing Guide