def day_to_year(days):
    year = 1970

    while days > 0:
        if is_leap_year(year):
            days -= 366
        else:
            days -= 365
        year += 1

    return year - 1
Пример #2
0
def day_to_year(days):
    year = ORIGIN_YEAR

    while days > 0:
        if is_leap_year(year):
            days -= 366
        else:
            days -= 365
        year += 1

    return year - 1
Пример #3
0
def day_to_year(days):
    year = origin_year

    while days > 365:
        if is_leap_year(year):
            if days > 366:
                days -= 366
                year += 1
        else:
            days -= 365
            year += 1

    return year
def day_to_year(days):
    year = origin_year

    while days > 365:
        if is_leap_year(year):
            # what about if leap year and days == 366
            if days > 366:
                days -= 366
                year += 1
        else:
            days -= 365
            year += 1

    return year
Пример #5
0
def day_to_year(days):
    '''
    Given a number of days from January 1st 1970, return the year.
    '''
    year = 1970

    while days > 365:
        if is_leap_year(year):
            if days > 366:
                days -= 366
                year += 1
        else:
            days -= 365
            year += 1

    return year
Пример #6
0
def doy2cal(year, doy):
    if is_leap_year(year):
        doy_until_last_month = [
            0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335, 366
        ]
    else:
        doy_until_last_month = [
            0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365
        ]

    # Search
    for i, dulm in enumerate(doy_until_last_month):
        if doy <= dulm:
            month = i
            day = doy - doy_until_last_month[i - 1]
            break

    return [year, month, day]
Пример #7
0
def cal2doy(cal_date):
    ymd_str = cal_date.split('-')
    ymd_int = []
    # Convert strings to integers
    for item in ymd_str:
        ymd_int.append(int(item))
    ymd0 = ['year', 'month', 'day']
    ymd = dict(zip(ymd0, ymd_int))

    months = range(1, 13)
    doy_until_last_month = [
        0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334
    ]
    doy_until_last_month = dict(zip(months, doy_until_last_month))

    doy = doy_until_last_month.get(ymd.get('month')) + ymd.get('day')
    doy = (doy +
           int(is_leap_year(ymd.get('year')))) if ymd.get('month') > 2 else doy

    return doy
Пример #8
0
 def test_a(self):
     is_leap_year.is_leap_year(-100)
Пример #9
0
 def test_true(self):
     assert is_leap_year.is_leap_year(400) == True
Пример #10
0
 def test_exception_typeerror(self):
     with pytest.raises(TypeError):
         is_leap_year.is_leap_year('ss')
def test_is_leap_year():
    assert is_leap_year(2004)
    assert not is_leap_year(2019)
    assert not is_leap_year(2100)
    assert is_leap_year(4000)
Пример #12
0
 def test_is_typeerror(self, is_type_error):
     with pytest.raises(TypeError):
         is_leap_year.is_leap_year(is_type_error)
Пример #13
0
 def test_is_leap(self, is_leap_y):
     assert is_leap_year.is_leap_year(is_leap_y) == True