Wie würde ich mit Python zwei Daten vergleichen, um zu sehen, welche später sind?
Ich möchte beispielsweise überprüfen, ob das aktuelle Datum nach dem letzten Datum in dieser von mir erstellten Liste der Feiertagsdaten liegt, damit automatisch eine E-Mail gesendet wird, in der der Administrator aufgefordert wird, die Datei travel.txt zu aktualisieren.
<
und>
, genau wie bei jedem anderen Vergleich.int compare_dates(void const *, void const*)
, wandeln beide Argumente instruct Date *
die Vergleichslogik um und implementieren sie. Für einen Python-Neuling ist dies möglicherweise nicht so offensichtlich.Antworten:
Verwenden Sie die
datetime
Methode und den Operator<
und seine Verwandten.quelle
past
undpresent
? Ich kann Ihr Beispiel nicht verstehen und sein Ergebnis macht keinen Sinn.past
und seinpast_but_a_little_after
. Technischpresent
ist auch in der Vergangenheit, wenn der Vergleichpast < present
gemacht wird.Verwenden
time
Angenommen, Sie haben die Anfangsdaten als Zeichenfolgen wie diese:
date1 = "31/12/2015"
date2 = "01/01/2016"
Sie können Folgendes tun:
newdate1 = time.strptime(date1, "%d/%m/%Y")
undnewdate2 = time.strptime(date2, "%d/%m/%Y")
sie in das Datumsformat von Python konvertieren. Dann ist der Vergleich offensichtlich:newdate1 > newdate2
wird zurückkehrenFalse
newdate1 < newdate2
wird zurückkehrenTrue
quelle
datetime.date(2011, 1, 1) < datetime.date(2011, 1, 2)
wird zurückkehrenTrue
.datetime.date(2011, 1, 1) - datetime.date(2011, 1, 2)
wird zurückkehrendatetime.timedelta(-1)
.datetime.date(2011, 1, 1) + datetime.date(2011, 1, 2)
wird zurückkehrendatetime.timedelta(1)
.Siehe die Dokumente .
quelle
Andere Antworten
datetime
und Vergleiche funktionieren auch nur für die Zeit ohne Datum.Um beispielsweise zu überprüfen, ob es jetzt mehr oder weniger als 8:00 Uhr ist, können wir Folgendes verwenden:
Und später vergleichen mit:
welches zurückkehren wird
True
quelle
Die Berechnung der Tage in zwei Datumsunterschieden kann wie folgt erfolgen:
Denn wenn eine Sekunde mehr mit dem Fälligkeitsdatum ist, müssen wir berechnen
quelle