web-dev-qa-db-fra.com

comment obtenir la date d'hier en utilisant php?

Je veux obtenir la date d'hier en utilisant un format de date spécifique en php c'est le format:

$today = date("d.m.Y"); //15.04.2013

C'est possible?

Prenez en compte les mois et les années s’ils doivent être modifiés en conséquence.

69
unique_programmer

voilà

date('d.m.Y',strtotime("-1 days"));

cela fonctionnera aussi si le mois change

212
Fabio

étape 1

Nous avons besoin de définir les données de format dans la fonction date (): La fonction date () retourne une chaîne formatée en fonction de la chaîne donnéeformat en utilisant l'horodatage entier donné ou l'heure actuelle, si aucun horodatage n'est donné. En d'autres termes, l'horodatage est facultatif et définit par défaut la valeur time ().

<?php
echo date("F j, Y");
?>

résultat: 30 mars 2010

étape 2

Pour la date "d'hier", utilisez la fonction php mktime (): La fonction mktime () renvoie l'horodatage Unix correspondant aux arguments donnés. Cet horodatage est un entier long contenant le nombre de secondes entre l’époque Unix (1 janvier 1970 00:00:00 GMT) et l’heure spécifiée. Les arguments peuvent être omis dans l'ordre, de droite à gauche; tout argument ainsi omis sera défini sur la valeur actuelle en fonction de la date et de l'heure locales.

<?php
echo mktime(0, 0, 0, date("m"), date("d")-1, date("Y"));
?>

résultat: 1269820800

étape

Maintenant, fusionnez tout et regardez ceci:

<?php
$yesterday = date("Y-m-d", mktime(0, 0, 0, date("m") , date("d")-1,date("Y")));
echo $yesterday;
?>

résultat: 29 mars 2010

En fonctionnant de la même manière, il est possible de recevoir du temps heure par heure.

<?php
$yesterday = date("H:i:s",mktime(date("H"), 0, 0, date("m"),date("d"), date("Y")));
echo $yesterday;
?>

résultat: 20:00:00

ou il y a 7 jours:

<?php
$week = date("Y-m-d",mktime(0, 0, 0, date("m"), date("d")-7,date("Y")));
echo $week;
?>

résultat: 2010-03-23

7
Gaurang P

essaye ça

        $tz    = new DateTimeZone('Your Time Zone');
        $date  = new DateTime($today,$tz);
        $interval = new DateInterval('P1D');
        $date->sub($interval); 

        echo $date->format('d.m.y');

        ?>           
5
alwaysLearn

vous pouvez le faire en

date("F j, Y", time() - 60 * 60 * 24);

ou par

date("F j, Y", strtotime("yesterday"));
5
NullPoiиteя

essaye ça

<?php
$yesterday = date(“d.m.Y”, time()-86400);
echo $yesterday;
2
liyakat

Vous pouvez également le faire en utilisant la bibliothèque Carbon :

Carbon::yesterday()->format('d.m.Y');         // '26.03.2019'

Dans d'autres formats:

Carbon::yesterday()->toDateString();          // '2019-03-26'
Carbon::yesterday()->toDateTimeString();      // '2019-03-26 00:00:00'

Carbon::yesterday()->toFormattedDateString(); // 'Mar 26, 2019'
Carbon::yesterday()->toDayDateTimeString();   // 'Tue, Mar 26, 2019 12:00 AM'
0
ns16