diff --git a/happening.py b/happening.py
index ee862da7d..f00ec7e22 100644
--- a/happening.py
+++ b/happening.py
@@ -265,6 +265,14 @@ def get_todays_events(base_dir: str, nickname: str, domain: str,
     return events
 
 
+def _ical_date_string(date_str: str) -> str:
+    """Returns an icalendar formatted date
+    """
+    date_str = date_str.replace('-', '')
+    date_str = date_str.replace(':', '')
+    return date_str.replace(' ', '')
+
+
 def _icalendar_day(base_dir: str, nickname: str, domain: str,
                    day_events: [], person_cache: {}) -> str:
     """Returns a day's events in icalendar format
@@ -288,11 +296,9 @@ def _icalendar_day(base_dir: str, nickname: str, domain: str,
                 if evnt.get('startTime'):
                     event_start = \
                         datetime.strptime(evnt['startTime'],
-                                          "%Y%m%dT%H%M%S%Z")
-                    evnt_end = evnt['startTime'] + timedelta(hours=1)
-                    event_end = \
-                        datetime.strptime(evnt_end,
-                                          "%Y%m%dT%H%M%S%Z")
+                                          "%Y-%m-%dT%H:%M:%S%z")
+                    evnt_end = event_start + timedelta(hours=1)
+                    event_end = evnt_end.strftime("%Y-%m-%dT%H:%M:%S%z")
                 if 'public' in evnt:
                     if evnt['public'] is True:
                         event_is_public = True
@@ -339,10 +345,12 @@ def _icalendar_day(base_dir: str, nickname: str, domain: str,
             continue
         if not isinstance(post_json_object['object']['published'], str):
             continue
-        published = post_json_object['object']['published']
-        published = published.replace('-', '')
-        published = published.replace(':', '')
-        published = published.replace(' ', '')
+        published = \
+            _ical_date_string(post_json_object['object']['published'])
+
+        event_start = \
+            _ical_date_string(event_start.strftime("%Y-%m-%dT%H:%M:%SZ"))
+        event_end = _ical_date_string(event_end)
 
         ical_str += \
             'BEGIN:VEVENT\n' + \
@@ -417,8 +425,7 @@ def get_month_events_icalendar(base_dir: str, nickname: str, domain: str,
                                person_cache: {}) -> str:
     """Returns today's events in icalendar format
     """
-    month_events = None
-    events = \
+    month_events = \
         get_calendar_events(base_dir, nickname, domain, year,
                             month_number)