Su Linux
 Basta usare -d (o --date ) per fare un po' di calcoli con le date:
date -d '+1 hour' '+%F %T'
#    ^^^^^^^^^^^^
 Ad esempio:
$ date '+%F %T'
2013-04-22 10:57:24
$ date -d '+1 hour' '+%F %T'
2013-04-22 11:57:24
#           ^
 Su Mac OS
Attenzione, quanto sopra funziona solo su Linux, non su Mac OS.
Su Mac OS, il comando equivalente è
date -v+1H
 Linux e macOS in un unico comando
 Se hai bisogno di scrivere script che funzionino sia su server Linux che su workstation macOS, puoi silenziare l'errore del primo date call e 'OR' (|| ) con l'altro. Non importa quale viene prima.
date -u -d "+${max_age}Seconds" +"%Y-%m-%dT%H:%M:%SZ" 2>/dev/null || \
date -u -v "+${max_age}S"       +"%Y-%m-%dT%H:%M:%SZ"
 
 Ad esempio, questa funzione bash carica un file su AWS S3 e imposta un Expires: e Cache-Control: intestazioni.
s3_upload_cache_control(){
  local max_age_seconds="${1}" ;shift         # required
  local bucket_path="${1}"     ;shift         # required
  local filename="${1}"        ;shift         # required
  local remote_filename="/${1:-${filename}}"  # optional
  local fmt="+%Y-%m-%dT%H:%M:%SZ"
  aws s3 cp                                                          \
    "${filename}"                                                    \
    "s3://${bucket_path}${remote_filename}"                          \
    --expires                                                  "$(   \
      date -u -d "+${max_age_seconds}Seconds" $fmt 2>/dev/null  ||   \
      date -u -v "+${max_age_seconds}S"       $fmt               )"  \
    --cache-control max-age=$max_age,public                          \
    --acl public-read
}
 Nello script della shell, se abbiamo bisogno di aggiungere l'ora, usa il comando seguente e il formato della data (PUT TIME before DATE string)
 date -d"11:15:10 2017-02-05 +2 hours" +"%Y-%m-%d %H:%M:%S" questo produrrà 2017-02-05 13:15:10 
Questo non risulta nella data corretta senza UTC non funziona