summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--date.py5
-rw-r--r--test/unittest_date.py4
2 files changed, 8 insertions, 1 deletions
diff --git a/date.py b/date.py
index 6571928..bc7b32e 100644
--- a/date.py
+++ b/date.py
@@ -166,7 +166,10 @@ def nb_open_days(start, end):
open_days = weeks * 5 + plus
nb_week_holidays = len([x for x in get_national_holidays(start, end+step)
if weekday(x) < 5 and x < end])
- return open_days - nb_week_holidays
+ open_days -= nb_week_holidays
+ if open_days < 0:
+ return 0
+ return open_days
def date_range(begin, end, incday=None, incmonth=None):
"""yields each date between begin and end
diff --git a/test/unittest_date.py b/test/unittest_date.py
index 47b32c1..88340c0 100644
--- a/test/unittest_date.py
+++ b/test/unittest_date.py
@@ -114,6 +114,10 @@ class DateTC(TestCase):
x = self.now()
self.assertOpenDays(x, x, 0)
+ def test_open_days_now_now2(self):
+ x = self.datetimecls(2010, 5, 24)
+ self.assertOpenDays(x, x, 0)
+
def test_open_days_afternoon_before_holiday(self):
self.assertOpenDays(self.datetimecls(2008, 5, 7, 14), self.datetimecls(2008, 5, 8, 0), 1)