diff --git a/human-readable-duration.cabal b/human-readable-duration.cabal
--- a/human-readable-duration.cabal
+++ b/human-readable-duration.cabal
@@ -1,5 +1,5 @@
 name:                human-readable-duration
-version:             0.1.0.0
+version:             0.1.1.0
 synopsis:            Provide duration helper
 homepage:            http://github.com/yogsototh/human-readable-duration#readme
 license:             BSD3
@@ -15,18 +15,19 @@
     .
     > let duration = 2 * ms + 3 * oneSecond + 2 * minute + 33*day + 2*year
     > humanReadableDuration duration
-    > -- will return: "2 years 33 days 2 min 3s 32ms"
+    > -- will return: "2 years 33 days 2 min 3s 2ms"
     > getYears duration
     > -- will return 2
     > getDays duration
-    > -- will return 730
+    > -- will return 763
     > getMs duration
-    > -- will return 730
+    > -- will return 65923323002
 
 library
   hs-source-dirs:      src
   exposed-modules:     Data.Duration
   build-depends:       base >= 4.7 && < 5
+                     , time >= 1.0
   default-language:    Haskell2010
 
 -- test-suite human-readable-duration-test
diff --git a/src/Data/Duration.hs b/src/Data/Duration.hs
--- a/src/Data/Duration.hs
+++ b/src/Data/Duration.hs
@@ -1,5 +1,7 @@
 module Data.Duration
     ( humanReadableDuration
+    , humanReadableDiffTime
+    , humanReadableNominalDiffTime
     -- durations
     , ms
     , oneSecond
@@ -16,6 +18,7 @@
     , getYears
     ) where
 
+import Data.Time.Clock (DiffTime, NominalDiffTime)
 
 -- | `humanReadableDuration` take some time in micro-seconds and render a human readable duration.
 --
@@ -30,6 +33,21 @@
   | n < day    = let h  = getHours   n in if h  > 0 then show h  ++ " hours " ++ humanReadableDuration (n `rem` hour) else ""
   | n < year   = let d  = getDays    n in if d  > 0 then show d  ++ " days " ++ humanReadableDuration (n `rem` day) else ""
   | otherwise  = let y  = getYears   n in if y  > 0 then show y  ++ " years " ++ humanReadableDuration (n `rem` year) else ""
+
+-- | Give a human readable output of a `DiffTime` from the time library.
+humanReadableDiffTime :: DiffTime -> String
+humanReadableDiffTime = humanReadableDuration
+                      . round
+                      . (* (1e6 :: Double))
+                      . realToFrac
+
+-- | Give a human readable output of a `NominalDiffTime` from the time library.
+humanReadableNominalDiffTime :: NominalDiffTime -> String
+humanReadableNominalDiffTime = humanReadableDuration
+                             . round
+                             . (* (1e6 :: Double))
+                             . realToFrac
+
 
 --------------------------------------------------------------------------------
 -- Durations
