date
I always forget the arguments to date.
Seconds since UNIX epoch
date +%sToday's date yyyy-mm-dd
$ date -I
2019-07-23$ date +'%Y-%m-%d'
2019-07-23Next week's date
Use the -d flag
$ date -d '+1week'
Tue 30 Jul 14:50:03 AEST 2019Convert local time to UTC
$ TZ=UTC date -d 'TZ="Australia/Sydney" 24 Jun 19 11:45 PM'
Mon 24 Jun 13:45:00 UTC 2019Difference between two dates
$ START=$(date -d 'TZ="Australia/Sydney" 24 Jun 19 23:45' +'%s')
$ END=$(date -d 'TZ="Australia/Sydney" 25 Jun 19 02:55' +'%s')
# Number of hours between $END and $START
$ echo "scale=2;($END-$START)/3600" | bc
3.16