Manipulating time is a difficult thing. Time was made for people. The rules are complicated and depend on where you are on Earth. Time units have varying lengths (how long is “one month”?; how long is a day when you change daylight savings?), daylight savings depends on the country you’re in, and formatting dates depends on the language. It’s complicated. Luckily, Joda Time does an excellent job. Joda Time is a date-time library that represents everything immutably. It’s what people use when they want robust date-time calculations. clj-time wraps up the types from Joda Time and makes it easy to use from Clojure.
Screencasts, Whiteboards, and Slides produced to help you learn
Curated selections of courses on a specific topic
If you’re looking to watch absolutely all of the courses on this site, I’ve put together a suggested order. Start at the beginning and just watch everything straight through. Be sure to click those checkmarks to track your progress.
Parts of courses on specific topics
There are so many ways to represent time on the JVM: longs (unix timestamp), java.util.Date, java.sql.Date, etc. clj-time provides a way to get the type we need from any of the other types.
How to represent date-times that happen in a time zone.
How do you represent an interval of time with a start and end date-time?
Parsing dates from strings and back again. It’s more complicated than you think!
Periods of time, adding to a time, comparing times.
How to represent birthdays and holidays with clj-time.