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
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
Metadata Files
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
- Website: http://sixarm.com
- Twitter: sixarm
- Repositories: 580
- Profile: https://github.com/SixArm
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
Top Committers
| Name | 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