GNU date implémente une option --date extrèmement pratique qui permet de manipuler une date autre que celle actuelle.

Sous les Unix BSD (Solaris, OpenBSD... ), le binaire date n'est pas la version GNU.

Le seul moyen que j'ai trouvé pour calculer la date de la veille et de jouer avec le Time Zone :

> date
Mon Dec 21 14:49:30 CET 2009
> TZ=GMT+25 date
Sun Dec 20 12:49:40 GMT 2009

Faut juste faire gaffe à bien choisir le TZ en fonction du TZ de la machine (en particulier si le calcul est fait aux alentour de minuit GMT) !