Format a datetime into a string with milliseconds
I want to have a datetime
string from the date with milliseconds. This code is typical for me and I'm eager to learn how to shorten it.
from datetime import datetime
timeformatted= str(datetime.utcnow())
semiformatted= timeformatted.replace("-","")
almostformatted= semiformatted.replace(":","")
formatted=almostformatted.replace(".","")
withspacegoaway=formatted.replace(" ","")
formattedstripped=withspacegoaway.strip()
print formattedstripped
To get a date string with milliseconds (3 decimal places behind seconds), use this:
from datetime import datetime
print datetime.utcnow().strftime('%Y-%m-%d %H:%M:%S.%f')[:-3]
>>>> OUTPUT >>>>
2020-05-04 10:18:32.926
Note: For Python3, print
requires parentheses:
print(datetime.utcnow().strftime('%Y-%m-%d %H:%M:%S.%f')[:-3])
With Python 3.6 you can use:
from datetime import datetime
datetime.utcnow().isoformat(sep=' ', timespec='milliseconds')
Output:
'2019-05-10 09:08:53.155'
More info here: https://docs.python.org/3/library/datetime.html#datetime.datetime.isoformat
print datetime.utcnow().strftime('%Y%m%d%H%M%S%f')
http://docs.python.org/library/datetime.html#strftime-strptime-behavior