soustraire 1 heure à partir de la date en shell script unix
J'ai le texte suivant dans un script shell. Comment puis-je soustraire une heure, tout en conservant la mise en forme?
DATE=`date "+%m/%d/%Y -%H:%M:%S"`
Vous devez vous connecter pour publier un commentaire.
La commande suivante fonctionne sur les dernières versions de GNU
date
:Si vous avez bash version
4.4+
vous pouvez utiliser bash interne de l'impression de la date et de l'arithmétique:La
$(printf "%(%s)T")
estampes de l'époque secondes, le$(( epoch - 60*60 ))
est bash-aritmetics - soustraction de 1 heure en secondes. Imprime:date
expédiés sur Ubuntu.si vous avez besoin de soustraire avec horodatage :
Convertir le timestamp (un entier long), il faut soustraire le nombre de millisecondes, reformater au format dont vous avez besoin.
Difficile de donner plus de détails car vous ne spécifiez pas un langage de programmation...
date "+%m/%d/%Y -%H:%M:%S"
et à partir de la DATE je veux soustraire 1 heureCe travail sur mon Ubuntu 16.04
date
:date --date="@$(($(date +%s) - 3600))" "+%m/%d/%Y -%H:%M:%S"
Et le
date
version estdate (GNU coreutils) 8.25
Si vous avez besoin de changer de fuseau horaire avant la soustraction avec le nouveau format de trop:
Ici une autre façon de soustraire 1 heure.
J'espère qu'Il peut aider quelqu'un.
En Ce Qui Concerne Meilleur!
$ date +%Y-%m-%d-%H
Sortie:2019-04-09-20
$ date -v-1H +%Y-%m-%d-%H
Sortie: 2019-04-09-19
Mais dans l'utilisation de shell comme
date +%Y-%m-%d-%H
,date -v-1H +%Y-%m-%d-%H