Page 1 sur 1

la date d'hier

Posté : 14 août 2010, 09:06
par fabrice88250
bonjour,
je voudrai afficher la date d'hier pour la'asssocier a un nom de fichier.
					$hier = date(Ymd, time()-10);
					$filehier = $hier . '.xml';
					echo $filehier;
... sa marche pas sa m'affiche la date d'aujourd'hui.

Re: la date d'hier

Posté : 14 août 2010, 12:02
par xTG
Ton erreur vient du fait que time() te renvoie le nombre de secondes écoulées depuis le début des timestamp unix.
Tu as donc enlevé 10 secondes et non une journée.

Re: la date d'hier

Posté : 14 août 2010, 16:58
par stealth35
regarde du coté de strtotime

Re: la date d'hier

Posté : 14 août 2010, 21:55
par fabrice88250
bon alors j'ai trouvé un autre solution mais peut etre y'a plus faciel :
$hier = date("Y-m-d", mktime(0,0,0,date("m"),date("d")-1,date("Y"))); 

Re: la date d'hier

Posté : 14 août 2010, 21:57
par stealth35
t'es sur qu'il va trouver le 00/08/2010 ?

Re: la date d'hier

Posté : 14 août 2010, 23:08
par xTG
Va lire la page donnée si gentiment par stealth35, on trouve la solution après tout juste un scroll avec un bel exemple. :P

Re: la date d'hier

Posté : 15 août 2010, 20:24
par Aureusms
Essaye cela, c'est la méthode que j'utilise.
Tu as juste oublié de retirer des secondes à ton timestamp...
<?php
$maintenant = time();
//hier = aujourd'hui mais avec 60 x 60 x 24 secondes en moins.
$hier = $maintenant - (60*60*24);
$nom_hier = date ("Ymd",$hier);
?>

Re: la date d'hier

Posté : 15 août 2010, 22:39
par stealth35
Essaye cela, c'est la méthode que j'utilise.
Tu as juste oublié de retirer des secondes à ton timestamp...
<?php
$maintenant = time();
//hier = aujourd'hui mais avec 60 x 60 x 24 secondes en moins.
$hier = $maintenant - (60*60*24);
$nom_hier = date ("Ymd",$hier);
?>
ca ne marche pas, avec les changements d'heures
$maintenant = strtotime('29-03-2010');

$hier = $maintenant - (60*60*24);
$nom_hier = date ("Ymd",$hier);
echo $nom_hier;
le 27 au lieu du 28
pour manipuler les date c'est strtotime
$maintenant = strtotime('29-03-2010');

$hier = strtotime('-1 day', $maintenant); //ou '1 day ago'
$nom_hier = date ("Ymd",$hier);
echo $nom_hier;
une jour c'est pas forcement 24h, comme 1 mois 30 jours et une année 365 :wink:

Re: la date d'hier

Posté : 16 août 2010, 10:15
par Aureusms
Slt Stealth35,

Je suis d'accord avec toi . Pas très grand spécialiste en date(), j'ai cependant quelques questions :

Je crois me rappeler que strtotime demande une date en format anglais.
$maintenant = strtotime('03-29-2010');

$hier = strtotime('-1 day', $maintenant); //ou '1 day ago'
$nom_hier = date ("Ymd",$hier);
echo $nom_hier;
Pourrait-on envisager :
$maintenant = time();

$hier = strtotime('-1 day', $maintenant); //ou '1 day ago'
$nom_hier = date ("Ymd",$hier);
echo $nom_hier;
Ou encore :
$maintenant = strtotime(date("d-m-Y",time()));

$hier = strtotime('-1 day', $maintenant); //ou '1 day ago'
$nom_hier = date ("Ymd",$hier);
echo $nom_hier;
Je pencherai pour la dernière... Confirmes-tu ?

Re: la date d'hier

Posté : 16 août 2010, 15:09
par stealth35
le 2eme parametre de strtotime est un format timestamp et est égale a time() par default

et
$maintenant = strtotime(date("d-m-Y",time()));
===
$maintenant = time()
et
$hier = strtotime('-1 day', $maintenant); //ou '1 day ago'
===
$hier = strtotime('-1 day'); //ou '1 day ago'
:wink: