Skip to content
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
176 lines (106 sloc) 6.36 KB

Changes Between 0.15.1 and 0.15.2

  • Add type hints to reduce reflection warnings for users (#268, #269, @vemv)
  • Fix overlaps? with four arguments (#264).
  • Improve tests and documentation (#258, #259, #260, @bhaskarsaraogi)

Changes Between 0.15.0 and 0.15.1

  • Add adjust for intervals, so they can be "moved" backwards and forwards by one or more periods (#257).

Changes Between 0.14.5 and 0.15.0

  • Add tagged literal support (in clj-time.coerce) (#255, @jconti). DateTime can be converted to-edn and can be printed as #clj-time/date-time "...", and data_readers.clj provides the conversion from that back to DateTime.

Changes Between 0.14.4 and 0.14.5

  • Update Joda Time to 2.10 (#254, @novalis).
  • Update various dev/test dependencies; clean up spec_test.clj to avoid Clojure refer warnings.
  • Drop oraclejdk7 from test matrix (we still support openjdk7); add openjdk8; test Clojure 1.10 on Java 8+ only (#253).
  • Switch to for tracking outdated dependencies (#252, @v-kolesnikov).

Changes Between 0.14.3 and 0.14.4

  • On Clojure 1.9 and later, ReadableInstant now extends to Inst, providing inst? and inst-ms on most Joda Time types (#248, #249)

Changes Between 0.14.2 and 0.14.3

  • Added deprecation notice and recommendation to move to Java Time (and

  • Clarified behavior of functions when passed nil (due to how Joda Time handles null objects).

  • Update to Joda Time 2.9.9.

  • Drop Clojure 1.6.0 support.

  • Refactor code to be more idiomatic (mostly when instead of if).

  • Fully-qualify function return type hints to avoid requiring imports on use (#241).

Changes Between 0.14.1 and 0.14.2

  • Fully-qualify function return type hints to avoid requiring imports on use (#241).

Changes Between 0.14.0 and 0.14.1

  • Switches clojure.spec to clojure.spec.alpha to work with latest Clojure 1.9 builds.
  • Adds week-year to go with week-number-of-year (#239, #240).
  • Adds function return type hints across the board (#226).

Changes Between 0.13.0 and 0.14.0

  • Add from-epoch.
  • Clarify today-at is UTC.
  • Add optional clj-time.spec namespace (requires Clojure 1.9 Alpha 17).
  • Add clj-time.types namespace with type-based predicates.

Changes Between 0.12.2 and 0.13.0

  • Update Joda Time to 2.9.7 (#223).

Changes Between 0.12.1 and 0.12.2

  • More reflection warnings removed (#221).

Changes Between 0.12.0 and 0.12.1

  • Updated Joda Time (to 2.9.4) and several testing dependencies as well.
  • floor now retains timezone information (#204).
  • Reflection warning removed from with-time-at-start-of-day (#219).

Changes Between 0.11.0 and 0.12.0 (June 6th, 2016)

Joda Time 2.9.3

Joda Time has been upgraded to 2.9.3.

java.jdbc coercions

java.sql.Date and java.sql.Time are now coerced automatically if you require clj-time.jdbc (previously only java.sql.Timestamp was coerced).


The formatter function now accepts keywords and formatter objects, as well as string formats, so you can easily select a standard format (with a keyword) or provide a specific formatter object.

Clojure 1.8 by Default

The library now depends on Clojure 1.8.0 and is tested against 1.6.0, 1.7.0, and 1.9.0-master-SNAPSHOT.


  • first-day-of-the-month? and last-day-of-the-month? -- aliases to improve consistency (so it's the-month everywhere).
  • min-date and max-date -- to return the minimum or maximum of two or more dates.
  • nth-day-of-the-month -- return the Nth day of the year/month, or date/time.
  • nth-day-of-the-month? -- return true if a given date/time is on the Nth day of its month.
  • with-time-at-start-of-day -- return the time at the start of the day, including timezone and DST support.


  • today-at-midnight -- deprecated in favor of with-time-at-start-of-day.

Bug Fixes

Issue 185 is fixed by explicitly tying the :rfc822 formatter to the US locale.

The examples in the README are now automatically tested (by midje-readme) so they are more likely to be valid.

Changes Between 0.10.0 and 0.11.0

Joda Time 2.8

Joda Time has been upgraded to 2.8.2.

Clojure 1.7 by Default

The library now depends on Clojure 1.7.0.

Changes Between 0.9.0 and 0.10.0


clj-time.instant is a new namespace that, when loaded, makes it possible for the Clojure reader to serialize Joda Time data types.

Joda Time 2.7

Joda Time has been upgraded to 2.7.


A new predicate equal? has been added, which can be used like before? and after? to assert two instants represent identical points in time regardless of differences in time zone.

Contributed by @gws.


A new namespace clj-time.jdbc has been added which extends protocols in to allow for easy coercion to and from java.sql.Timestamp driven by clj-time.coerce.

Contributed by @gws.

Changes Between 0.8.0 and 0.9.0


clj-time.format/with-default-year is a new function that accepts a formatter and returns a formatter that uses provided year by default.

Contributed by lummax.


clj-time.core/InTimeUnitProtocol is a new protocol that provides convenient functions for time unit conversion:

(defprotocol InTimeUnitProtocol
  "Interface for in-<time unit> functions"
  (in-millis  [this] "Return the time in milliseconds.")
  (in-seconds [this] "Return the time in seconds.")
  (in-minutes [this] "Return the time in minutes.")
  (in-hours   [this] "Return the time in hours.")
  (in-days    [this] "Return the time in days.")
  (in-weeks   [this] "Return the time in weeks")
  (in-months  [this] "Return the time in months")
  (in-years   [this] "Return the time in years"))

Clojure 1.2-1.4 Support Dropped

clj-time now officially supports Clojure 1.5.1 and later versions.

Joda Time 2.6

Joda Time has been upgraded to 2.6.

You can’t perform that action at this time.