diff --git a/erpnext/setup/doctype/email_digest/email_digest.py b/erpnext/setup/doctype/email_digest/email_digest.py
index 1de5ccb..0bcddc2 100644
--- a/erpnext/setup/doctype/email_digest/email_digest.py
+++ b/erpnext/setup/doctype/email_digest/email_digest.py
@@ -4,8 +4,8 @@
 from __future__ import unicode_literals
 import frappe
 from frappe import _
-from frappe.utils import fmt_money, formatdate, format_time, now_datetime, \
-	get_url_to_form, get_url_to_list, flt, get_link_to_report
+from frappe.utils import (fmt_money, formatdate, format_time, now_datetime,
+	get_url_to_form, get_url_to_list, flt, get_link_to_report, add_to_date, today)
 from datetime import timedelta
 from dateutil.relativedelta import relativedelta
 from frappe.core.doctype.user.user import STANDARD_USERS
@@ -151,8 +151,9 @@
 	def get_calendar_events(self):
 		"""Get calendar events for given user"""
 		from frappe.desk.doctype.event.event import get_events
-		events = get_events(self.future_from_date.strftime("%Y-%m-%d"),
-			self.future_to_date.strftime("%Y-%m-%d")) or []
+		from_date, to_date = get_future_date_for_calendaer_event(self.frequency)
+
+		events = get_events(from_date, to_date)
 
 		event_count = 0
 		for i, e in enumerate(events):
@@ -825,4 +826,14 @@
 		last_year_closing_count = get_count_on(account, fieldname, fy_start_date - timedelta(days=1))
 		count = count_on_to_date + (last_year_closing_count - count_before_from_date)
 
-	return count
\ No newline at end of file
+	return count
+
+def get_future_date_for_calendaer_event(frequency):
+	from_date = to_date = today()
+
+	if frequency == "Weekly":
+		to_date = add_to_date(from_date, weeks=1)
+	elif frequency == "Monthly":
+		to_date = add_to_date(from_date, months=1)
+
+	return from_date, to_date
\ No newline at end of file
