Beim Addieren oder Subtrahieren des Datums- / Uhrzeittyps wird der Zeitdelta-Typ zurückgegeben, der jedoch nur feinere Attribute als der Tag aufweist, und ich wurde jedes Mal bei der Berechnung des Monats oder Jahres gegoogelt. Also werde ich es zusammenfassen.
#Erstellen Sie Startdatum und -zeit mit dem Datum / Uhrzeit-Typ-----------
from datetime import datetime
dt1 = datetime(2018,5,6) # datetime.datetime(2018, 5, 6, 0, 0)
#Generieren Sie ein neues Datum, indem Sie dem Startdatum und der Startzeit eine beliebige Anzahl von Monaten und Tagen hinzufügen-----------
from dateutil.relativedelta import relativedelta
dt2 = start + relativedelta(months=20, days=25) # datetime.datetime(2020, 1, 31, 0, 0)
#Finden Sie täglich den Unterschied zwischen zwei Daten-----------
dt_dif = (dt2 - dt1) # datetime.timedelta(days=635)
print(dt_dif.days) # 635
# print(dt_dif.months) #Wird ein Fehler sein
#Die Differenz zwischen den beiden Daten, monatlich/Berechnen Sie jährlich-----------
from monthdelta import monthmod #Wenn Sie eine Fehlermeldung erhalten, installieren Sie MonthDelta
mmod = monthmod(dt1, dt2) # (monthdelta(20), datetime.timedelta(days=25)) <-Taple (wie eine Liste)
##Monatsdifferenz (Rest abrunden)
print(mmod[0].months) # 20
##Jahresdifferenz (Rest abrunden) Teilen Sie die Monatsdifferenz durch 12. Es gibt verschiedene Tage im Monat, aber da die Anzahl der Monate im Jahr immer 12 beträgt, ist dies in Ordnung
print(mmod[0].months//12) # 1
https://pythonhosted.org/MonthDelta/
Recommended Posts