2017-05-19 1 views
0

ich das folgende Stück Code bin mitWie wird das Datum von der Ganzzahl verglichen?

heutigen Datum
now = datetime.datetime.now() 
year = now.year 
month = now.month 
date1 = now.day 
if(date1 >= 8): 
    ------- 

Im if Zustand, um es Fehler gibt die -

‚> =‘ wird nicht zwischen Instanzen von ‚built_in_function_or_method unterstützt 'und' int '

Jetzt, wie man es vergleicht ??

+0

Was ist der Zweck dieses Vergleichs, in einfachem Englisch? – 9000

+0

meinst du 'tag' oder' datum'? –

+0

'now.date' ist die Funktion selbst. Sie sollten es mindestens in 'now.date()' ändern. –

Antwort

0

Sie meinen day? Weil du date geschrieben hast, das ist eine datetime Funktion, die ein datetime.datetime in ein datetime.date Objekt umwandelt.

-1

Ich vermute, dass Sie suchen:

datetime.timedelta 
0

Sie wahrscheinlich ein timedelta Objekt und/oder ein date Objekt verwenden möchten.

Ein Timedelta-Objekt repräsentiert eine Dauer, die Differenz zwischen zwei Daten oder Zeiten. Hier

ist ein Beispiel für das, was Sie scheinen zu suchen:

datetime.date(2017, 5, 18) < datetime.date.now() # returns True 
datetime.date(2017, 5, 17) - datetime.date(2017, 5, 18) # returns datetime.timedelta(-1) 
  • Die erste Operation gibt einen booleschen Operator.
  • Die zweite Operation liefert eine negative Zahl (den Unterschied in Tagen) als 18. Mai 2017 kommt nach dem 17. May 2017.

anzumerken, dass Timedelta der folgenden Argumente nimmt (nach Python doc):

class datetime.timedelta([days[, seconds[, microseconds[, milliseconds[, minutes[, hours[, weeks]]]]]]]) 
Verwandte Themen