N'oubliez pas de vous pencher sur la question sémantique de ce que vous entendez par «un an» par rapport aux années bissextiles. Soustraire 365 jours du 2008-02-28 vous donnera 2007-02-28, tandis que soustraire 365 jours du 2008-02-29 vous donnera 2007-03-31.
HostileFork dit de ne pas faire confiance à SE le
Je suppose que cela dépend beaucoup de ce que signifie «soustraire un an». Vous pourriez vouloir dire le même mois et le même jour mais un an plus tôt ou le mois et le jour après avoir soustrait 365 jours comme le souligne Hostile.
// set your date here
$mydate ="2009-01-01";/* strtotime accepts two parameters.
The first parameter tells what it should compute.
The second parameter defines what source date it should use. */
$lastyear = strtotime("-1 year", strtotime($mydate));// format and display the computed date
echo date("Y-m-d", $lastyear);
Bien qu'il existe de nombreuses réponses acceptables en réponse à cette question, je ne vois aucun exemple de subméthode utilisant l' \Datetimeobjet: https://www.php.net/manual/en/datetime.sub.php
Donc, pour référence, vous pouvez également utiliser a \DateIntervalpour modifier un \Datetimeobjet:
Réponses:
Vous pouvez utiliser
strtotime
:La
strtotime
fonction renvoie un horodatage unix, pour obtenir une chaîne formatée, vous pouvez utiliserdate
:la source
Utilisez la fonction strtotime ():
la source
Utilisation de l'objet DateTime ...
Ou utiliser maintenant pour aujourd'hui
la source
un moyen le plus simple que j'ai utilisé et bien travaillé
cela a fonctionné parfaitement .. j'espère que cela aidera quelqu'un d'autre aussi .. :)
la source
la source
Sur mon site Web, pour vérifier si les personnes inscrites ont 18 ans , j'ai simplement utilisé ce qui suit:
Après, comparez uniquement les deux dates.
J'espère que cela pourrait aider quelqu'un.
la source
Bien qu'il existe de nombreuses réponses acceptables en réponse à cette question, je ne vois aucun exemple de
sub
méthode utilisant l'\Datetime
objet: https://www.php.net/manual/en/datetime.sub.phpDonc, pour référence, vous pouvez également utiliser a
\DateInterval
pour modifier un\Datetime
objet:Qui retourne:
Pour plus d'informations sur
\DateInterval
, reportez-vous à la documentation: https://www.php.net/manual/en/class.dateinterval.phpla source
Vous pouvez utiliser la fonction suivante pour soustraire 1 ou n'importe quelle année d'une date.
Et en regardant les exemples ci-dessus, vous pouvez également utiliser ce qui suit
la source