[quote=“seb”]Si le script est lancé à 23:10:34 le 16/07/2012 la sauvegarde porte le nom du jour en cours, en revanche si je lance la sauvegarde après 00:00:00 elle portera le nom du jour suivant 17/07/2012 
Donc ma démarche est de nommer la sauvegarde de la journée travaillée, je ne sais pas si je suis clair…
Si sauvegarde lancée avant heure max 00:00:00 alors nom sauvegarde = date du jour
Si sauvegarde lancée après heure max 00:00:00 alors nom sauvegarde = date du jour -1[/quote]
Donc je répète : il te faut choisir arbitrairement une heure de référence spécifique qui sera la limite à partir de laquelle on passe de hier à aujourd’hui, étant donné que minuit ne te convient pas pour cette tâche.
En fait ton code d’origine est bon (edit: presque, il faut utiliser < au lieu de -lt), mais ton raisonnement en “langage naturel” est erroné et te fait choisir un mauvais point de référence (00:00:01 ne te laisse qu’une seule seconde – minuit pile – où tu considères que tu es encore “hier”). Une heure trop proche de minuit ne convient pas, bien au contraire il faut s’en éloigner le plus possible.
Essaye par exemple en prenant comme référence 04:00:00 tu verras que ça marche beaucoup mieux :
si heure < 04:00:00 (heure est toujours >= 00:00:00, pas besoin de faire le test)
date d'hier
sinon (du coup 04:00:00 <= heure <= 23:59:59)
date d'aujourd'hui
En d’autres termes :
[quote]Si sauvegarde lancée avant heure max 04:00:00 alors nom sauvegarde = date du jour -1
Si sauvegarde lancée après heure max 04:00:00 alors nom sauvegarde = date du jour[/quote]
Non car dans ce cas là, si tu fais une sauvegarde à 23:50:00 ça prendra la date de la veille et non celle du jour (et je doute que ça soit ce que tu veux).
Il faut choisir soigneusement ton point de référence, la question que tu dois te poser est “jusqu’à quelle heure est-ce que je considère qu’on est encore hier ?”.