diff --git a/Network/Xmpp/Extras/DateTime.hs b/Network/Xmpp/Extras/DateTime.hs
--- a/Network/Xmpp/Extras/DateTime.hs
+++ b/Network/Xmpp/Extras/DateTime.hs
@@ -7,6 +7,8 @@
 
 import Data.Time
 
--- |No milliseconds yet as `formatTime` lacks the required feature
 toDateTime :: UTCTime -> String
-toDateTime t = formatTime defaultTimeLocale "%Y-%m-%dT%H:%M:%SZ" t
+toDateTime = formatTime defaultTimeLocale "%Y-%m-%dT%H:%M:%S%QZ"
+
+fromDateTime :: String -> Maybe UTCTime
+fromDateTime = parseTimeM False defaultTimeLocale "%Y-%m-%dT%H:%M:%S%QZ"
diff --git a/pontarius-xmpp-extras.cabal b/pontarius-xmpp-extras.cabal
--- a/pontarius-xmpp-extras.cabal
+++ b/pontarius-xmpp-extras.cabal
@@ -1,5 +1,5 @@
 name:                pontarius-xmpp-extras
-version:             0.1.0.3
+version:             0.1.0.4
 synopsis:            XEPs implementation on top of pontarius-xmpp
 -- description:
 license:             OtherLicense
@@ -18,7 +18,7 @@
 Source-repository this
   type:              git
   location:          https://github.com/l29ah/pontarius-xmpp-extras.git
-  tag:               0.1.0.3
+  tag:               0.1.0.4
 
 library
   exposed-modules:
