Python erhält den ersten und letzten Tag des aktuellen Kalenderquartals

Ich habe eine Funktion erstellt, um den ersten und letzten Tag des aktuellen Quartals abzurufen, aber es ist etwas langwierig. Ich habe mich gefragt, ob es einen prägnanteren Weg gibt, dies zu erreiche

Ich verstehe daspandas hat einQuarterBegin() -Funktion, aber ich könnte es nicht prägnanter implementieren.

import datetime as dt
from dateutil.relativedelta import relativedelta     

def get_q(first=None,last=None):

    today = dt.date.today()

    qmonth = [1, 4, 7, 10]

    if first:
        for i,v in enumerate(qmonth):
            if (today.month-1)//3 == i:
                return dt.date(today.year,qmonth[i],1).strftime("%Y-%m-%d")

    if last:
        firstday = dt.datetime.strptime(get_q(first=True),"%Y-%m-%d") 
        lastday = firstday + relativedelta(months=3, days=-1)
        return lastday.strftime("%Y-%m-%d")

EDIT: Bitte lassen Sie mich wissen, ob dies besser für @ geeignet wärCode-Revie

Antworten auf die Frage(10)

Ihre Antwort auf die Frage