miscellaneous_tips:02_linux:useful_date_commands

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

  • miscellaneous_tips/02_linux/useful_date_commands.txt
  • Zuletzt geändert: 2021-01-18 17:20
  • (Externe Bearbeitung)