diff --git a/mandrill.cabal b/mandrill.cabal
--- a/mandrill.cabal
+++ b/mandrill.cabal
@@ -1,5 +1,5 @@
 name:                mandrill
-version:             0.2.1.0
+version:             0.2.2.0
 synopsis:            Library for interfacing with the Mandrill JSON API
 description:         Pure Haskell client for the Mandrill JSON API
 license:             MIT
diff --git a/src/Network/API/Mandrill/Types.hs b/src/Network/API/Mandrill/Types.hs
--- a/src/Network/API/Mandrill/Types.hs
+++ b/src/Network/API/Mandrill/Types.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE TemplateHaskell #-}
+{-# LANGUAGE CPP #-}
 {-# LANGUAGE RankNTypes #-}
 {-# LANGUAGE ScopedTypeVariables #-}
 {-# LANGUAGE OverloadedStrings #-}
@@ -12,7 +13,12 @@
 import           Data.Maybe
 import           Data.Time
 import           Control.Applicative
-import           System.Locale (defaultTimeLocale)
+import           Data.Time (ParseTime)
+#if MIN_VERSION_time(1,5,0)
+import Data.Time.Format (TimeLocale, defaultTimeLocale)
+#else
+import System.Locale (TimeLocale, defaultTimeLocale)
+#endif
 import qualified Data.ByteString as B
 import qualified Data.ByteString.Base64 as Base64
 import qualified Data.Text as T
@@ -27,6 +33,13 @@
 import qualified Text.Blaze.Html.Renderer.Text as Blaze
 
 
+timeParse :: ParseTime t => TimeLocale -> String -> String -> Maybe t
+#if MIN_VERSION_time(1,5,0)
+timeParse = parseTimeM True
+#else
+timeParse = parseTime
+#endif
+
 --------------------------------------------------------------------------------
 data MandrillError = MandrillError {
     _merr_status :: !T.Text
@@ -329,6 +342,6 @@
 
 instance FromJSON MandrillDate where
   parseJSON = withText "MandrillDate" $ \t ->
-      case parseTime defaultTimeLocale "%Y-%m-%d %I:%M:%S%Q" (T.unpack t) of
+      case timeParse defaultTimeLocale "%Y-%m-%d %I:%M:%S%Q" (T.unpack t) of
         Just d -> pure $ MandrillDate d
         _      -> fail "could not parse Mandrill date"
