Holen Sie sich den letzten Tag des Monats in Python
In diesem Artikel besprechen wir, wie man mit verschiedenen Modulen den letzten Tag des Monats in Python findet.
Verwendung der Funktion calendar.monthrange()
Die Funktion monthrange()
wird verwendet, um ein Tupel zurückzugeben, das den ersten Wochentag des Monats und die Gesamtzahl der Tage im Monat enthält. Wir müssen das Jahr und den Monat an diese Funktion übergeben.
Nachdem wir die oben genannten Werte erhalten haben, erstellen wir ein neues Datumsobjekt mit dem angegebenen Datum und verwenden die Funktion replace()
, um die Tageszahl durch die Gesamtzahl der Tage in diesem Monat zu ersetzen.
Zum Beispiel,
import calendar
import datetime
date = datetime.date(2021,5,16)
d = date.replace(day = calendar.monthrange(date.year, date.month)[1])
print(d)
Ausgabe :
Für Python 3.7 und höher können wir auch die Funktion monthlen()
aus diesem Modul verwenden, die die Gesamtzahl der Tage in einem Monat zurückgibt.
Verwendung der Funktion dateutil.relativedelta()
Das dateutil kann als Erweiterung des datetime-Moduls betrachtet werden. Beide Module werden sehr oft zusammen verwendet und das dateutil-Modul bietet eine Vielzahl von Funktionen für die Bearbeitung von datetime-Objekten. Wir können die Funktion relativedelta()
verwenden, um das letzte Datum des Monats ab einem bestimmten Datum zu berechnen.
Zum Beispiel,
import datetime
from dateutil.relativedelta import relativedelta
d = (datetime.date(2021, 5, 16) + relativedelta(day=31))
print(d)
Ausgabe :
Der obige Code gibt das letzte Datum des Monats in einem Datetime-Objekt an.
Verwendung des Datetime-Moduls
Mithilfe des datetime-Moduls können wir unsere eigene kleine Funktion erstellen, um den letzten Tag des Monats zurückzugeben. Diese Methode kann als unkonventionell angesehen werden, liefert aber das gewünschte Ergebnis. Grundsätzlich berechnen wir den ersten Tag des nächsten Monats aus einem bestimmten Datum, subtrahieren dann 1 Tag von diesem Datum und erhalten das Datum des letzten Tages des Monats.
Der folgende Code implementiert die obige Methode.
import datetime
def lom(year, month, day):
d = datetime.date(year + int(month/12), month%12+1, 1)-datetime.timedelta(days=1)
return d
print(lom(2021,5,16))
Ausgabe :
0 bedeutet hier, dass der Tag Montag ist.
Verwendung der Funktion pandas.end_time()
Das Pandas-Modul befasst sich sehr häufig mit Daten, die Datums- und Zeitwerte enthalten. Deshalb ist es mit verschiedenen Funktionen ausgestattet, die mit solchen Werten arbeiten können. Es ist nicht ratsam, Methoden aus diesem Modul zu verwenden, es sei denn, man arbeitet mit DataFrames.
Die Funktion end_time()
kann das letzte Datum und die letzte Uhrzeit eines bestimmten Zeitraums zurückgeben. Wir können das Datum angeben und die Häufigkeit auf „M“ setzen, und wir erhalten das letzte Datum des Monats.
Zum Beispiel,
import pandas as pd
import datetime
d = pd.Period('16-May-2021',freq='M').end_time.date()
print(d)
Ausgabe :
Verwendung von pandas.date_range()
Die Funktion date_range()
wird verwendet, um ein Objekt zu erstellen, das Datumsangaben vom Anfang bis zum Ende der angegebenen Werte enthält. Wir können diese Funktion ändern, um den letzten Tag des Monats abzurufen.
Siehe den folgenden Code.
import pandas as pd
import datetime
year, month = 2021, 5
d = pd.date_range('{}-{}'.format(year, month), periods=1, freq='M')
print(d[0])
Ausgabe :
Hier geht es darum, wie man in Python den letzten Tag des Monats erhält.