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