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 Local Timescales
Common
Calendar Conventional (CBFC)
Common
Calendar Enhanced (CBFE)
CCT c/c++ Reference
Implementation