Count work days between two dates, ignoring holidays.

        Args:
            date1 (date, datetime or str): Date start of interval.
            date2 (date, datetime or str): Date end of interval.

        Note:
            The adopted notation is COB to COB, so effectively date1 is not
            included in the calculation result.

        Example:
            >>> cal = Calendar()
            >>> date1 = datetime.datetime.today()
            >>> date2 = cal.addworkdays(date1, 1)
            >>> cal.workdaycount(date1, date2)
            1

        Returns:
            int: Number of work days between the two dates. If the dates
                are equal the result is zero. If date1 > date2 the result is
                negative.

def workdaycount(self, date1, date2):
        """
        Count work days between two dates, ignoring holidays.

        Args:
            date1 (date, datetime or str): Date start of interval.
            date2 (date, datetime or str): Date end of interval.

        Note:
            The adopted notation is COB to COB, so effectively date1 is not
            included in the calculation result.

        Example:
            >>> cal = Calendar()
            >>> date1 = datetime.datetime.today()
            >>> date2 = cal.addworkdays(date1, 1)
            >>> cal.workdaycount(date1, date2)
            1

        Returns:
            int: Number of work days between the two dates. If the dates
                are equal the result is zero. If date1 > date2 the result is
                negative.
        """
        date1 = parsefun(date1)
        date2 = parsefun(date2)
        if date1 == date2:
            return 0
        elif date1 > date2:
            date1, date2 = date2, date1
            direction = -1
        else:
            direction = 1

        ndays = self._workdaycount(date1, date2)
        return ndays * direction