That's one of the reasons why being on the JVM with Scala, Clojure, etc. makes one's coding life simpler: huge ecosystem to draw on with minimal effort (i.e. rarely need to roll your own).
Generally immutable (supports mutable state for some edge cases) along incredibly rich functionality covering everything you could imagine needing time-wise, and does so concisely.
It's a godsend given the built-in Java alternative.