functions to make clojure's comparison functions work for Temporal entities
functions to make clojure's comparison functions work for Temporal entities
A partial port of tick.core, but now backed by Temporal on js runtime.
If a function from tick is implemented in this ns then it works the same as the tick equivalent.
The reason that tick has been ported is that it is a popular date/time library. As well as having a different basis on JS runtimes, there are some philosophical differences between tick and tempo.
What is there to choose between tempo.tick and tempo?
tempo has no zero-arg 'deref' functions. Similarly, there are no functions that make implicit use of
the 'current' or 'ambient' zone. For this reason, there is no with-clock
macro in tempo
tempo is sometimes more verbose - for example to get the year of an Instant for example first requires converting to a zdt by explicitly supplying a zone.
in tick the same function is used for parsing strings and accessing properties. For example in tick (t/date x)
will parse x if it is a string,
or access the date from x if it is e.g. a zdt.
tempo blocks non-commutative operations by default (e.g. 'adding' a month to a date)
Other differences:
A partial port of tick.core, but now backed by Temporal on js runtime. If a function from tick is implemented in this ns then it works the same as the tick equivalent. The reason that tick has been ported is that it is a popular date/time library. As well as having a different basis on JS runtimes, there are some philosophical differences between tick and tempo. What is there to choose between tempo.tick and tempo? 1. tempo has no zero-arg 'deref' functions. Similarly, there are no functions that make implicit use of the 'current' or 'ambient' zone. For this reason, there is no `with-clock` macro in tempo 2. tempo is sometimes more verbose - for example to get the year of an Instant for example first requires converting to a zdt by explicitly supplying a zone. 3. in tick the same function is used for parsing strings and accessing properties. For example in tick `(t/date x)` will parse x if it is a string, or access the date from x if it is e.g. a zdt. 4. tempo blocks non-commutative operations by default (e.g. 'adding' a month to a date) Other differences: * Unlike tick, no entity for year or month exists in tempo - where needed, numbers are used to repsesent those * Entities for temporal-amounts are alpha - so not included here yet * No parsing or formatting of non-ISO strings - since this is not in Temporal * Although there is a timezone entity, functions that would accept or return a timezone instead accept or return a string * There are no offset-datetime or offset-time entities since they don't exist in Temporal.
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close