Useful 'date' Commands
Step the system time by a specific amount (run as root
):
date -s "+1 second" # adjust the system time by +1 second date -s "-0.01 second" # adjust the system time by -10 milliseconds
Display the current UTC date as seconds since epoch:
date -u +%s 1594828693 # = 0x0x5F0F2795
Display a specific UTC date or time as seconds since epoch:
date -u -d "2020-07-15" +%s 1594771200 # = 0x5F0E4700
date -u -d "17:30:00" +%s 1594834200 # = 0x0x5F0F3D18
Display the human readable date and time for specific seconds since epoch:
date -u -d @1483228800 Sun Jan 1 00:00:00 UTC 2017
Display the human readable date and time for the last second before the signed 32 bit Unix time_t rolls over,
and for the next second thereafter.
Use the printf
command to determine the associated decimal number of seconds to be passed to the date
command.
# last second before rollover (same on 32 and 64 bit system) date -u -d @`printf "%i" 0x7FFFFFFF` +'%F %T' 2038-01-19 03:14:07 # first second after the rollover (on 64 bit system) date -u -d @`printf "%i" 0x80000000` +'%F %T' 2038-01-19 03:14:08 # first second after the rollover (on 32 bit system) date -u -d @`printf "%i" 0x80000000` +'%F %T' date: invalid date `@2147483648'
— Martin Burnicki martin.burnicki@burnicki.net last updated 2020-07-15