sixarm_adr_date_time_format_iso_utc

SixArm.com → Architecture Decision Record → Date time format using ISO8601 and UTC time zone

https://github.com/sixarm/sixarm_adr_date_time_format_iso_utc

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.0%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

SixArm.com → Architecture Decision Record → Date time format using ISO8601 and UTC time zone

Basic Info
  • Host: GitHub
  • Owner: SixArm
  • Default Branch: main
  • Size: 4.88 KB
Statistics
  • Stars: 0
  • Watchers: 2
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created over 7 years ago · Last pushed 11 months ago
Metadata Files
Readme Code of conduct Citation

README.md

SixArm.com → Architecture Decision Records →
Date time format using ISO8601 and UTC time zone

We want to be able to use a consistent date format and time format that are useful for our typical needs.

  • We need this because some of our systems do not have a specification of a date format or time format.

  • For example, JSON messages do not have a native timestamp, so we must choose a serialization text format.

We choose the format "YYYY-MM-DDTHH:MM:SS.NNNNNNNNN+HH:MM", which is using ISO8601, and we use UTC time zone whenever possible.

  • The format shows the year, month, day, hour, minute, second, nanoseconds, and timezone offset.

  • The format is generally human-readable, sort-orderable, and machine-interoperable.

Examples:

  • Date: "2018-01-01" is 2018 January 1st.

  • Time: "00:00:00.000000000" is midnight.

  • Timezone: "+00:00" is UTC.

  • Timestamp: "2018-01-01T00:00:00.000000000+00:00" is 2018 January 1st, midnight, UTC.

Details:

  • ISO8601 standard format.

  • UTC time zone. This is Universal Coordinated Time, a.k.a. Greenwich Mean Time, Zulu Time Zone.

  • Human-friendly readability, by using separator characters when possible, such as "HH:MM", rather than "HHMM".

  • Sort-friendly orderability, such as "YYYY-MM-DD", rather than than "MM-DD-YYYY".

  • Machine-friendly interoperability, by using a format that favors parsing into fields. The nanosecond separator is using a period "." rather than a comma "," because a comman may interfere with some spreadsheet comma-separated-value parsing.

Reasoning:

  • For typical use, we value easy to read/write by humans, more than raw speed/size.

  • For typical use, we want a format that works fine in machine systems, and also works well manually, such as writing sample data, reading JSON output, grepping a log file, etc.

  • For atypical use, such as high performance computing, we expect we'll want to optimize any text format we choose by converting the the text to a faster format, such as a programming language's built-in date object type. So the text format doesn't matter much for HPC.

  • For the time, we use nanoseconds, rather than just seconds, because we want our timestamps to be fully-compatible with high-precision systems that use nanoseconds.

  • For the time nanoseconds decimal, we use a period, rather than a comma, because a period looks more like a decimal, and is also easier to use in comma separated values (CSV) files.

  • For the timezone, we use hours and minutes, rather than "Z" or "UTC", because we want timezone syntax to sort correctly among multiple timezones.

  • For the timezone hours and minutes, we use a separator, rather than no separator, because we want the timezone format to be akin to the time format, because this improves human readability and can help machine parseability.

Known issues:

  • For the time nanoseconds, note that as of this writing, the date command on the BSD operating system does not have a nanoseconds option. Consider installling GNU date.

Owner

  • Name: SixArm
  • Login: SixArm
  • Kind: organization
  • Email: sixarm@sixarm.com
  • Location: San Francisco

SixArm Software

Citation (CITATION.cff)

cff-version: 1.2.0
title: SixArm.com → Architecture Decision Records →<br> Date time format using ISO8601 and UTC time zone
message: >-
  If you use this work and you want to cite it,
  then you can use the metadata from this file.
type: software
authors:
  - given-names: Joel Parker
    family-names: Henderson
    email: joel@joelparkerhenderson.com
    affiliation: joelparkerhenderson.com
    orcid: 'https://orcid.org/0009-0000-4681-282X'
identifiers:
  - type: url
    value: 'https://github.com/SixArm/sixarm_adr_date_time_format_iso_utc/'
    description: SixArm.com → Architecture Decision Records →<br> Date time format using ISO8601 and UTC time zone
repository-code: 'https://github.com/SixArm/sixarm_adr_date_time_format_iso_utc/'
abstract: >-
  SixArm.com → Architecture Decision Records →<br> Date time format using ISO8601 and UTC time zone
license: See license file

GitHub Events

Total
  • Push event: 1
Last Year
  • Push event: 1

Committers

Last synced: about 1 year ago

All Time
  • Total Commits: 4
  • Total Committers: 1
  • Avg Commits per committer: 4.0
  • Development Distribution Score (DDS): 0.0
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Joel Parker Henderson j****l@j****m 4
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 7 months ago

All Time
  • Total issues: 0
  • Total pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Total issue authors: 0
  • Total pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels