Есть ли функция Python, чтобы определить, в каком квартале года находится дата? - PullRequest
78 голосов
/ 10 сентября 2009

Конечно, я мог бы написать это сам, но прежде чем я изобрету колесо, есть ли функция, которая уже делает это?

Ответы [ 12 ]

0 голосов
/ 07 сентября 2017

Вот подробное, но также удобочитаемое решение, которое будет работать для экземпляров datetime и date

def get_quarter(date):
    for months, quarter in [
        ([1, 2, 3], 1),
        ([4, 5, 6], 2),
        ([7, 8, 9], 3),
        ([10, 11, 12], 4)
    ]:
        if date.month in months:
            return quarter
0 голосов
/ 12 ноября 2009

хммм, так что вычисления могут пойти не так, вот лучшая версия (просто ради этого)

first, second, third, fourth=1,2,3,4# you can make strings if you wish :)

quarterMap = {}
quarterMap.update(dict(zip((1,2,3),(first,)*3)))
quarterMap.update(dict(zip((4,5,6),(second,)*3)))
quarterMap.update(dict(zip((7,8,9),(third,)*3)))
quarterMap.update(dict(zip((10,11,12),(fourth,)*3)))

print quarterMap[6]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...