diff --git a/Web/Encodings.hs b/Web/Encodings.hs
--- a/Web/Encodings.hs
+++ b/Web/Encodings.hs
@@ -33,6 +33,8 @@
     , parsePost
       -- ** Cookies
     , decodeCookies
+      -- * Date/time encoding
+    , formatW3
     ) where
 
 import Data.ByteString.Class
@@ -45,6 +47,10 @@
 import Data.Mime.Header
 import Data.Maybe (fromMaybe)
 
+import Data.Time.Clock
+import System.Locale
+import Data.Time.Format
+
 -- | Encode all but unreserved characters with percentage encoding.
 --
 -- Assumes use of UTF-8 character encoding.
@@ -170,6 +176,8 @@
     , fileContentType :: String
     , fileContent :: BS.ByteString
     }
+instance Show FileInfo where
+    show (FileInfo fn ct _) = "FileInfo: " ++ fn ++ " (" ++ ct ++ ")"
 
 -- | Parse a multipart form into parameters and files.
 parseMultipart :: LazyByteString lbs
@@ -274,3 +282,7 @@
             ('=':rest) -> rest
             x -> x
      in (key', value')
+
+-- | Format a 'UTCTime' in W3 format; useful for setting cookies.
+formatW3 :: UTCTime -> String
+formatW3 = formatTime defaultTimeLocale "%FT%X-00:00"
diff --git a/web-encodings.cabal b/web-encodings.cabal
--- a/web-encodings.cabal
+++ b/web-encodings.cabal
@@ -1,5 +1,5 @@
 name:            web-encodings
-version:         0.0.0
+version:         0.0.1
 license:         BSD3
 license-file:    LICENSE
 author:          Michael Snoyman <michael@snoyman.com>
@@ -13,7 +13,11 @@
 homepage:        http://github.com/snoyberg/web-encodings/tree/master
 
 library
-    build-depends:   base, bytestring, bytestring-class
+    build-depends:   base >=4 && <5,
+                     bytestring,
+                     bytestring-class,
+                     time >= 1.1,
+                     old-locale
     exposed-modules: Web.Encodings
     other-modules:   Data.Mime.Header,
                      Data.ByteString.Lazy.Util,
