diff --git a/library/Stagen/Date.hs b/library/Stagen/Date.hs
--- a/library/Stagen/Date.hs
+++ b/library/Stagen/Date.hs
@@ -1,6 +1,8 @@
 module Stagen.Date where
 
 import Data.Functor (void)
+import Data.Time.Clock
+import Data.Time.Calendar
 import Text.Parsec
 import Text.Parsec.String
 
@@ -26,3 +28,6 @@
 showTwoDigits n
     | n < 10 = '0' : show n
     | otherwise = show n
+
+dateToUTCTime :: Date -> UTCTime
+dateToUTCTime Date{dateYear,dateMonth,dateDay} = UTCTime (fromGregorian (fromIntegral dateYear) dateMonth dateDay) 0
diff --git a/library/Stagen/JsonFeed.hs b/library/Stagen/JsonFeed.hs
--- a/library/Stagen/JsonFeed.hs
+++ b/library/Stagen/JsonFeed.hs
@@ -6,13 +6,15 @@
 import Data.Text.Conversions (fromText, toText)
 import Network.URI
 import JsonFeed
+import Data.Maybe
 
 import Stagen.Page
+import Stagen.Date
 
 createJsonFeed :: String -> String -> [Page] -> BL.ByteString
 createJsonFeed title baseUrl pages = let
   feed = mkFeed (toText title) (toText baseUrl)
-  feed' = feed { feedItems = map toItem pages }
+  feed' = feed { feedItems = catMaybes $ map toItem pages }
   in renderFeed feed'
 
 mkFeed :: Text -> Text -> Feed
@@ -34,20 +36,22 @@
   where
     baseUri = parseURI (fromText baseUrl)
 
-toItem :: Page -> Item
-toItem page = Item
-  { itemAttachments = Nothing
-  , itemAuthor = Nothing
-  , itemBannerImage = Nothing
-  , itemContentHtml = Nothing
-  , itemContentText = Nothing
-  , itemDateModified = Nothing
-  , itemDatePublished = Nothing
-  , itemExternalUrl = Nothing
-  , itemId = String (toText (pageAbsoluteUrl page))
-  , itemImage = Nothing
-  , itemSummary = Nothing
-  , itemTags = Nothing
-  , itemTitle = Just (toText (pageTitle page))
-  , itemUrl = fmap Url $ parseURI (fromText $ toText (pageAbsoluteUrl page))
-  }
+toItem :: Page -> Maybe Item
+toItem page = case pageDate page of
+  Nothing -> Nothing
+  Just date -> Just Item
+    { itemAttachments = Nothing
+    , itemAuthor = Nothing
+    , itemBannerImage = Nothing
+    , itemContentHtml = Nothing
+    , itemContentText = Nothing
+    , itemDateModified = Nothing
+    , itemDatePublished = Just $ dateToUTCTime date
+    , itemExternalUrl = Nothing
+    , itemId = String (toText (pageAbsoluteUrl page))
+    , itemImage = Nothing
+    , itemSummary = Nothing
+    , itemTags = Nothing
+    , itemTitle = Just (toText (pageTitle page))
+    , itemUrl = fmap Url $ parseURI (fromText $ toText (pageAbsoluteUrl page))
+    }
diff --git a/package.yaml b/package.yaml
--- a/package.yaml
+++ b/package.yaml
@@ -1,5 +1,5 @@
 name: stagen
-version: '0.2.0'
+version: '0.2.1'
 category: Web
 synopsis: Static site generator
 description: Low dependency static site generator using markdown
@@ -32,6 +32,7 @@
   - parallel
   - parsec
   - json-feed
+  - time
   - text
   - text-conversions
   - feed
diff --git a/stagen.cabal b/stagen.cabal
--- a/stagen.cabal
+++ b/stagen.cabal
@@ -2,10 +2,10 @@
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: badead40d64f903a9c62f6a773f8e419930b97d6e7c489d699eec49dcdf7f9e7
+-- hash: 02d6be748e505bc4264d2d3006b237c92612b2273a12733cc1c2089d71199062
 
 name:           stagen
-version:        0.2.0
+version:        0.2.1
 synopsis:       Static site generator
 description:    Low dependency static site generator using markdown
 category:       Web
@@ -44,6 +44,7 @@
     , parsec
     , text
     , text-conversions
+    , time
     , xml
     , xml-conduit
     , xml-types
