Konvertieren eines datetime-Strings in Millisekunden UNIX-Zeitstempel

Ich versuche, die Timing-Informationen aus einem Java-Job und Linux Performance Monitoring Tool perf (speziell perf stat ) zu korrelieren.

Die Timing-Informationen aus Java werden mit String tstamp0 = String.valueOf(System.currentTimeMillis()); (Dies ist im Wesentlichen Zeit in Millisekunden aus Epoche), während perf die Zeit, die der Prozess begonnen hat, gibt und die anschließende Aufzeichnung nur die verstrichene Zeit zeigt.

Was ich tun möchte, ist, die Timing-Informationen aus dem perf stat zu Millisekunden zu konvertieren, und hier ist, wo ich versage. Ich komme dieses Problem in Python .

Dieses Stück Code gibt mir die Timing-Informationen von perf

 tailit = "head -n 1 " + dataset_path process = subprocess.Popen(tailit, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE) out, err = process.communicate() date_time = out.split("\n")[0].split(" ")[4:] date = date_time[3] + "-" + date_time[0] + "-" + date_time[1] time = date_time[2] #TIMESTAMP INIT_TIME = datetime.datetime.strptime(date + ' ' + time, "%Y-%B-%d %H:%M:%S") + datetime.timedelta(seconds=0.01) #df is pandas data frame df['STAMPME'] = df['TCOUNT'].apply(lambda x: foobar(datetime.timedelta(seconds=x) + INIT_TIME)) 

Hier ist foobar das folgende, um einen String in den Zeitstempel in Millisekunden umzuwandeln, aber es macht keinen Sinn.

 def foobar(INIT_TIME): d = datetime.datetime.strptime(str(INIT_TIME), "%Y-%m-%d %H:%M:%S.%f").strftime('%s') d_in_ms = int(d)*1000 return (d_in_ms) 

Jede Hilfe wird geschätzt.

EDIT: Vorangegangene Fragen befassten sich nicht mit dem Problem der Korrelation des java timestamp (currentTimeMillis()) auf die datetime mit Millisekunden.

Zum Beispiel: mit der Funktion foobar : mit INIT_TIME gesetzt als 2017-05-11 10:56:54.203 ist der Rückgabewert 1494493014000 wenn er stattdessen 1494500214203 sein 1494500214203

One Solution collect form web for “Konvertieren eines datetime-Strings in Millisekunden UNIX-Zeitstempel”

Ich finde das Problem herausgefunden. Sieht aus wie foobar Funktion ist die Rückkehr Zeit in GMT + 2, während die Java-Job war die Rückkehr Zeit in GMT . So mit einem timedelta von +2 konnte ich es lösen.

  • Python: Umwandlung von Sekunden in hh: mm: ss [duplicate]
  • Projizieren von Zeitreihenvorhersagen auf Trendlinie und inkl. Saisonalität (Python)
  • Löschen von unzugänglichen Dateien mit Python
  • Machen Sie Python auf Windows-Zeitzonenänderungen
  • Wie kann ich bei der Verwendung von "subprocess.check_output" eigentlich bash-Befehle in python zitieren?
  • Planen Sie Zeit und Datum, um Skript auszuführen
  • Führen Sie eine Aufgabe während bestimmter Zeitrahmen innerhalb eines Python-Skripts aus
  • Python-Zufallsfunktion ohne zufälliges Modul
  • Was ist die höchste Zeit der Präzision, die über Python erreicht werden kann?
  • Warum ist Zeilenindexierung von scipy csr Matrizen langsamer im Vergleich zu numpy Arrays
  • Zählen Sie auf ein Ziel datetime in Python
  • Python ist die beste Programmiersprache der Welt.