Command to get time in milliseconds
date +"%T.%N"
returns the current time with nanoseconds.06:46:41.431857000
date +"%T.%6N"
returns the current time with nanoseconds rounded to the first 6 digits, which is microseconds.06:47:07.183172
date +"%T.%3N"
returns the current time with nanoseconds rounded to the first 3 digits, which is milliseconds.06:47:42.773
In general, every field of the date
command's format can be given an optional field width.
Nano is 10−9 and milli 10−3. Hence, we can use the three first characters of nanoseconds to get the milliseconds:
date +%s%3N
From man date
:
%N nanoseconds (000000000..999999999)
%s seconds since 1970-01-01 00:00:00 UTC
Source: Server Fault's How do I get the current Unix time in milliseconds in Bash?.