Convert python datetime to timestamp in milliseconds

Issue

How to convert a human readable time with the format 20.12.2016 09:38:42,76 to Unix timestamps in milliseconds? I found a lot of similar questions, but didn’t found this specific question/answer.

Solution

In Python 3 this can be done in 2 steps:

  1. Convert timestring to datetime object
  2. Multiply the timestamp of the datetime object by 1000 to convert it to milliseconds.

For example like this:

from datetime import datetime

dt_obj = datetime.strptime('20.12.2016 09:38:42,76',
                           '%d.%m.%Y %H:%M:%S,%f')
millisec = dt_obj.timestamp() * 1000

print(millisec)

Output:

1482223122760.0

strptime accepts your timestring and a format string as input. The timestring (first argument) specifies what you actually want to convert to a datetime object. The format string (second argument) specifies the actual format of the string that you have passed.

Here is the explanation of the format specifiers from the official documentation:

  • %d – Day of the month as a zero-padded decimal number.
  • %m – Month as a zero-padded decimal number.
  • %Y – Year with century as a decimal number
  • %H – Hour (24-hour clock) as a zero-padded decimal number.
  • %M – Minute as a zero-padded decimal number.
  • %S – Second as a zero-padded decimal number.
  • %f – Microsecond as a decimal number, zero-padded on the left.

Answered By – Milo

This Answer collected from stackoverflow, is licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0

Leave a Reply

(*) Required, Your email will not be published