2016-08-08 5 views
-2

Ich übe Python und ich möchte ein Programm schreiben, die aktuelle Zeit überprüft und sehen, ob es 2:12 pm übereinstimmt und sagt: its lunch time Also zuerst habe ich herausgefunden import time Modul, aber ich don Weiß nicht wie?Überprüfung Zeit für die Ausführung if Anweisung

Mein Problem ist, ich weiß nicht, wie man Zeitmodul dafür verwendet. Oder verwende ich richtige Syntax oder nicht?

Mein Code:

import time 

bake=time() 
if bake == '2:12': 
    print ('its time to eating lunch') 
else : 
    print ('its not the time for eating lunch') 
+0

backen = time() gibt Ihnen die Zeit, da Sie das Programm, nicht die aktuelle Zeit –

+1

Es ist das Datetime-Modul, das Sie benötigen gestartet. – polku

+0

@TheDude nein es nicht, es gibt Ihnen die Anzahl der Sekunden seit der Epoche. –

Antwort

4

Ich schlage vor, das Datetime-Modul, das mehr practicale in diesem Fall (wie polku vorgeschlagen). Sie werden dann direkt nur auf die Stunden und Minuten zugreifen, um zu überprüfen, ob es Mittag ist.

Weitere Informationen finden Sie hier: How to get current time in python and break up into year, month, day, hour, minute?

import datetime 
now = datetime.datetime.now() 

if now.hour == 14 and now.minute == 12: 
    print ('its time to eating lunch') 
else : 
    print ('its not the time for eating lunch') 
+1

Außer, dass Sie die Stunde überprüfen möchten ist 14, nicht 2. –

+0

Sie haben Recht. Ich habe es korrigiert. –

+1

In vielen Fällen, in denen eine bestimmte Zeit benötigt wird, ist es besser zu prüfen, ob die Zeit bereits verstrichen ist und dann eine entsprechende Flagge zu setzen, als zu prüfen, ob die Zeit genau erreicht ist. Dies liegt daran, dass die if-Anweisung möglicherweise zu diesem Zeitpunkt nicht exakt ausgeführt wird. –

-2
import datetime as da 

lunch = "02:12 PM" 

now = da.datetime.now().strftime("%I:%M %p") 

if now == lunch: 

    print("lunch time") 

else: 

    print("not lunch time")