# fss-0002 iki-0000
#
# license open-standard-license-1.0-or-later
-# version 2023/12/16
+# version 2024/11/23
#
# This file (assumed to be named time.txt) can be more easily read using the following iki_read commands:
# iki_read time.txt +Q -r UTC UTC -w -WW character "'" "'" code '"' '"'
Time Specification:
There are two units of bold:"Time", the first is simply called bold:"Time" and the second is called bold:"EpochTime".
- Both bold:"Time" and bold:"EpochTime" are measured without the year but may contain a year to designate the point in the counting begins.
+ Both bold:"Time" and bold:"EpochTime" are measured without the base time but may contain a base time to designate the point in the counting begins.
These are both represented by a single 64-bit (unsigned) integer.
The default timezone is always UTC:"Coordinated Universal Time".
- The common form is intended as the non-technical form that is form common use.
+ If no special designation is provided or otherwise understood, then a year is the default and expected base time.
+ Anything may be used as an alternative base point of time.
+ It could a decade, a day, a minute, or even a microsecond.
+ The base time must either be understand or be communicated somehow.
+
+ The common form is intended for use as a less technical form for use in a more casual manner.
This may have a negative value or be more than 64-bit digits long.
- This is simply not expected to be interpreted as a unit of time on a computer (but nothing stops it from being interpreted).
+ This is simply not expected to be interpreted as a unit of time on a computer (but nothing stops it from being interpreted as such).
- The technical forms are limited to 64-bit unsigned for technical use but should technology advance to a point where larger bits are needed then this allows for that.
+ The more technical forms are limited to 64-bit unsigned for technical use but should technology advance to a point where larger bits are needed then this allows for that.
The systems should expect 64-bit and larger bits would have to become common before something larger than 64-bit is the expected or assumed default.
Negative signs can be allowed but they must not prevent the full use of the 64-bit.
The implementation of how this is done is left to the implementer except that the signs are immediately to the left of the digit.
- For example code:"2022:-5" would be 5 units before the start of the year 2022.
- Because the negative is allowed, so must the positive character (such as code:"2022:+5").
- A positive value is the default interpretation when no sign is valid.
-
- The unit of time called bold:"Time" is counted increments of a nanosecond, or 10^-9 seconds.
- A unit of bold:"Time" is, therefore, equivalent to a nanosecond.
- When the year is not specified, then the behavior of the year is not defined.
- The year can be inferred, directly designated through some other means, understood, asserted, or simply unknown or otherwise unspecified.
- The general recommendation is that the default year for bold:"Time" is the current year.
-
- The unit of time called bold:"EpochTime" is counted increments of a second, or 10^-9 seconds.
- A unit of bold:"EpochTime" is, therefore, equivalent to a second.
- The behavior when the year is not specified is the same as described for the bold:"Time".
- The general recommendation is that the default year for bold:"EpochTime" is the bold:"UNIX Epoch", sometimes called bold:"Unix time".
-
- The unit bold:"Time" has two technical forms and one common form, with the year and without the year.
+ For example code:"2022:-5" for the standard base time, a year, would be 5 units before the start of the year 2022.
+ The negative is allowed and so must the positive character also be allowed (such as code:"2022:+5").
+ A positive value is the default interpretation when there is no explicit sign used.
+
+ The unit of time called bold:"Time" is counted in increments of a nanosecond, or 10^-9 seconds, unless otherwise specified or understood.
+ The base unit of bold:"Time" is not exclusively fixed to a year and can be fixed to any base point of time.
+ The base unit can be inferred, directly designated through some other means, understood, asserted, or simply unknown or otherwise unspecified.
+ The general recommendation is that the default base unit, a year, for bold:"Time" is to represent the current year.
+ This recommendation may also be followed for other base formats, such as a day, where the bold:"Time" is to represent the current day.
+ When the base unit is not specified, then the behavior of the base unit is not explicitly defined and must be somehow understood.
+
+ The unit of time called bold:"EpochTime" is counted increments of a second.
+ The bold:"EpochTime" is always expected to always be relative to the bold:"UNIX Epoch" year.
+ Specifying a custom base time itself is still relative to the bold:"UNIX Epoch" year.
+ Another common name for bold:"UNIX Epoch" is bold:"Unix time".
+ The general recommendation is that the default base unit to be a year for bold:"EpochTime".
+
+ The unit bold:"Time" has two technical forms and one common form, with the base unit and without the base unit.
+
+ A suggested use would be to wrap the bold:"Time" or bold:"EpochTime" in something that provides further context, such as bold:"IKI" and bold:"EKI".
+ The bold:"EKI" can more easily describe the base time changes.
+
+ The bold:"IKI" could be used to designate the standard units bold:"time" and bold:"epochtime" like the following\:
+ code:`time:"12345"`.
+ code:`time:"2022:12345"`.
+ code:`epochtime:"12345"`.
+ code:`epochtime:"2022:12345"`.
+
+ The bold:"EKI" could be used to designate the standard unit bold:"time" and bold:"epochtime" along with a more explicit base time like the following\:
+ code:`day:time:"12345"`.
+ code:`day:time:"100:12345"`.
+ code:`year:time:"2022:12345"`.
+ code:`day:epochtime:"12345"`.
+ code:`day:epochtime:"100:12345"`.
+ code:`year:epochtime:"2022:12345"`.
+
+ In the previous examples for bold:"EKI" show code:"day" along with code:"epochtime".
+ For code:`day:epochtime:"100:12345"`, this means that the timestamp starts 100 days after the bold:"UNIX Epoch" year.
+
+ In the previous examples for bold:"EKI" show code:"year" along with code:"epochtime".
+ For code:`year:epochtime:"2022:12345"`, this means that the timestamp start 2022 years after the bold:"UNIX Epoch" year.
Key\:
code:"\s" = White space.