Convert Python Datetime To Timestamp In Milliseconds


Answer :

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.



For Python2.7 - modifying MYGz's answer to not strip milliseconds:



from datetime import datetime

d = datetime.strptime("20.12.2016 09:38:42,76", "%d.%m.%Y %H:%M:%S,%f").strftime('%s.%f')
d_in_ms = int(float(d)*1000)
print(d_in_ms)

print(datetime.fromtimestamp(float(d)))


Output:



1482248322760
2016-12-20 09:38:42.760000


For those who searches for an answer without parsing and loosing milliseconds,
given dt_obj is a datetime:



python3 only, elegant



int(dt_obj.timestamp() * 1000)


both python2 and python3 compatible:



import time

int(time.mktime(dt_obj.utctimetuple()) * 1000 + dt_obj.microsecond / 1000)


Comments

Popular posts from this blog

Converting A String To Int In Groovy

"Cannot Create Cache Directory /home//.composer/cache/repo/https---packagist.org/, Or Directory Is Not Writable. Proceeding Without Cache"

Android How Can I Convert A String To A Editable