GNU/Linux >> Tutoriels Linux >  >> Linux

Ajoutez une heure spécifique lors de l'utilisation de la commande linux date

Sous Linux

Utilisez simplement -d (ou --date ) pour faire des calculs avec les dates :

date -d '+1 hour' '+%F %T'
#    ^^^^^^^^^^^^

Par exemple :

$ date '+%F %T'
2013-04-22 10:57:24
$ date -d '+1 hour' '+%F %T'
2013-04-22 11:57:24
#           ^

Sur Mac OS

Attention, ce qui précède ne fonctionne que sur Linux, pas sur Mac OS.

Sous Mac OS, la commande équivalente est

date -v+1H

Linux et macOS en une seule commande

Si vous devez écrire des scripts qui fonctionnent à la fois sur les serveurs Linux et les postes de travail macOS, vous pouvez désactiver l'erreur du premier date appeler et 'OU' (|| ) avec l'autre. Peu importe ce qui vient en premier.

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"

Par exemple, cette fonction bash charge un fichier sur AWS S3 et définit un Expires: et Cache-Control: en-têtes.

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
}


Dans le script shell, si nous devons ajouter de l'heure, utilisez le format de commande et de date ci-dessous (PUT TIME avant la chaîne DATE)

date -d"11:15:10 2017-02-05 +2 hours" +"%Y-%m-%d %H:%M:%S" cela affichera 2017-02-05 13:15:10

Cela ne donne pas une date correcte sans UTC cela ne fonctionne pas


Linux
  1. Planifier une tâche avec la commande Linux at

  2. Une introduction à l'utilisation de tcpdump sur la ligne de commande Linux

  3. Utilisation de la commande timedatectl pour modifier l'heure et la date sur le système Linux RHEL7

  4. Comment utiliser la commande Linux Touch + Exemples

  5. Définir l'heure relative à l'aide de la ligne de commande

Astuces de formatage pour la commande Linux date

11 Exemples de commandes de date Linux utiles

Tutoriel sur l'utilisation de la commande Timeout sous Linux

Tutoriel sur l'utilisation de la dernière commande dans le terminal Linux

Linux date Exemples de commandes

Comprendre la commande time sous Linux