2017-12-22 11 views
0

Ich versuche, etwas Zeit Mathe zu tun, aber ich bin mir nicht sicher, wie ich das tun könnte. Ich möchte ein bestimmtes Datum & Zeit subtrahieren, die ich in einer Zeichenfolge (z. B. 15:54:00 2017-5-20) von der aktuellen GMT-Zeit (z. B. 20:06:27 2017-12-22) habe.Python - Subtrahieren ein bestimmtes Datum-Uhrzeit von der aktuellen GMT Datum-Zeit

Irgendwelche Gedanken darüber, wie ich das tun könnte?

# import data into Python 
with open(output_file2) as f: 
    reader = csv.reader(f, delimiter="\t") 
    d = list(reader) 
# here, objects [0][4] and [0][5] would be, for instance: 15:54:00 and 2017-5-20 
# , respectively 

# UTC Time 
os.system("date -u \"+%H:%M:%S %Y-%m-%d\" | gawk '{print \" UTC Date & Time: \", $1, \"\", $2}'") 
# eg.: 20:06:27 2017-12-22 

Alle Gedanken wären toll! Dank =)

Update: Ich habe bisher versucht:

UTC_time = datetime.datetime.utcnow().strftime("%H:%M:%S %Y-%m-%d") 
print ' UTC Date & Time: ', UTC_time 

time1 = d[0][4] 
date1 = d[0][5] 
mytime = time1, date1 
time_difference = datetime.datetime.utcnow() - mytime 
print "HELLO", time_difference 

aber ich erhalte eine Fehlermeldung: Typeerror: nicht unterstützte Operandtyp (e) für: - 'datetime.datetime' und ‚Tupel '

nicht sicher, was ich falsch mache ...

+0

Haben Sie etwas versucht? Das klingt wie eine ziemlich normale Verwendung von ['datetime'] (https://docs.python.org/3/library/datetime.html). – glibdud

+0

Hi glibdude, ja ... ich tat es. Verwenden Sie den Befehl: – luke

+0

siehe aktualisierten Kommentar oben. Immer noch nicht sicher, was vor sich geht ... – luke

Antwort

0

Ihr mytime Variable ist kein datetime.datetime Objekt und nicht verwendet werden kann, gegen eine zu betreiben. Statt mytime = time1, date1 Sie suchen mehr etwas entlang der Linien von

my_date_str = "{} {}".format(time1, date1) 
mytime = datetime.datetime.strptime(my_date_str, "%H:%M:%S %Y-%m-%d") 

erkennen Sie, dass trotz utcnow() mit der datetime.datetime Objekt resultierende nicht bewusst, Zeitzone, und keiner ist mytime. Also jede Mathematik zwischen den beiden ist reine Uhr Mathe, keine Zeitzonen berücksichtigt.

Wenn Sie Zeitzonenunterstützung benötigen, schauen Sie in pytz oder Pendulum oder finden Sie vielleicht eine andere, wenn sie Ihnen nicht passen.

Verwandte Themen