import datetime as dt

# Python3 program two find number of
# days between two given dates

# A date has day 'd', month
# 'm' and year 'y'


class Date:
    def __init__(self, d, m, y):
        self.d = d
        self.m = m
        self.y = y


# To store number of days in
# all months from January to Dec.
monthDays = [31, 28, 31, 30, 31, 30,
             31, 31, 30, 31, 30, 31]


# This function counts number of
# leap years before the given date


def countLeapYears(d):
    years = d.y

    # Check if the current year needs
    # to be considered for the count
    # of leap years or not
    if (d.m <= 2):
        years -= 1

    # An year is a leap year if it is a
    # multiple of 4, multiple of 400 and
    # not a multiple of 100.
    ans = int(years / 4)
    ans -= int(years / 100)
    ans += int(years / 400)
    return ans


# This function returns number of
# days between two given dates


def getDifference(dt1, dt2):
    # COUNT TOTAL NUMBER OF DAYS
    # BEFORE FIRST DATE 'dt1'

    # initialize count using years and day
    n1 = dt1.y * 365 + dt1.d

    # Add days for months in given date
    for i in range(0, dt1.m - 1):
        n1 += monthDays[i]

    # Since every leap year is of 366 days,
    # Add a day for every leap year
    n1 += countLeapYears(dt1)

    # SIMILARLY, COUNT TOTAL NUMBER
    # OF DAYS BEFORE 'dt2'
    n2 = dt2.y * 365 + dt2.d
    for i in range(0, dt2.m - 1):
        n2 += monthDays[i]
    n2 += countLeapYears(dt2)

    # return difference between
    # two counts
    return n2 - n1

# (Rev) This function return the days from datestart to datenow
def getDays():
    date = dt.datetime.now().date()
    day = date.day
    month = date.month
    year = date.year
    datestart = Date(9, 8, 2015)
    datenow = Date(day, month, year)

    return getDifference(datestart, datenow)

# This code is contributed by Smitha

# I got it from https://www.geeksforgeeks.org/find-number-of-days-between-two-given-dates/
# Edit by me (Revenovich)
