195 votes

Obtenir la date d'hier en bash sous Linux, sans risque de décalage horaire

J'ai un shell script qui fonctionne sous Linux et qui utilise cet appel pour obtenir la date d'hier en YYYY-MM-DD format :

date -d "1 day ago" '+%Y-%m-%d'

Cela fonctionne la plupart du temps, mais lorsque le script s'est exécuté hier matin à 2013-03-11 0:35 CDT il est revenu "2013-03-09" au lieu de "2013-03-10" .

On peut supposer que l'heure d'été (qui a commencé hier) en est la cause. Je suppose que la façon dont "1 day ago" est mis en œuvre, il a soustrait 24 heures, et 24 heures auparavant 2013-03-11 0:35 CDT était 2013-03-09 23:35 CST ce qui a conduit au résultat suivant "2013-03-09" .

Quel est le moyen le plus sûr pour obtenir la date d'hier en bash sous Linux ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X