github.com/danhunsaker/calends (go): Package calends is a library for handling dates and times across arbitrary calendar systems.  Dates and times are converted to "TAI64NAXUR instants", values that unambiguously encode moments over 146 billion years into the past or future, in increments as small as 10**-45 seconds (internally called a "roctosecond", but there's no actual prefix for units this small, even though the Planck Time - the smallest meaningful period of time in quantum physics - is 54 of them). Calculations and comparisons are done using these instants, to maintain the highest accuracy possible while working with such values. A single Calends value can hold either a single instant, or a time span between two of them; the duration of such a value is automatically calculated during object creation, for easy use elsewhere. When you need a version of the instant itself (either of them, for a span) that you can use elsewhere, it is converted back to a date/time string in whatever calendar system you need at the time.  Several calendar systems are supported officially, and the library is easily extended to support others without having to modify the core in any way.
Keywords: calendar-systems|gregorian|instant|julian|julian-day|span|stardate|tai64|unix-timestamp