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 ForLoop mit verschachtelten nach () Funktionen, die nach Loop passieren
  • Wie funktionieren Bibliotheken in verschiedenen Programmiersprachen Datum & Uhrzeit, Zeitstempel & Dauer, Leapseconds & -Jahre, DSTs & Timezones, ...?
  • Wie überprüfe ich, ob ein bestimmtes datetime-Objekt "zwischen" zwei datimente ist?
  • Konvertieren Sie datetime.time in datetime.timedelta in Python 3.4
  • Statepace.SARIMAX-Modell: Warum das Modell alle Daten verwenden, um den Modus zu trainieren, und die Vorhersage der eine Reihe von Zug-Modell
  • Python: Sekunden seit Epoche zum relativen Datum
  • Wie gewartet man etwas Zeit im Pygame?
  • Wie genau ist python's time.sleep ()?
  • Wie kann ich bei der Verwendung von "subprocess.check_output" eigentlich bash-Befehle in python zitieren?
  • Ungenaue Zeit.Sleep () mit Python 3.x und Windows 7
  • Time.sleep () Äquivalent auf Tkinter
  • Python ist die beste Programmiersprache der Welt.