229 votes

ajouter un jour à une date

Mon code pour ajouter un jour à une date renvoie une date antérieure à celle du jour: 2009-09-30 20:24:00 date après avoir ajouté un jour DEVRAIT être reportée au mois suivant: 1970-01-01 17:33:29

 <?php

    //add day to date test for month roll over

    $stop_date = date('Y-m-d H:i:s', strtotime("2009-09-30 20:24:00"));

    echo 'date before day adding: '.$stop_date; 

    $stop_date = date('Y-m-d H:i:s', strtotime('+1 day', $stop_date));

    echo ' date after adding one day. SHOULD be rolled over to the next month: '.$stop_date;
?>
 

J'ai déjà utilisé un code similaire, qu'est-ce que je fais de mal ici?

414voto

w35l3y Points 2316
<?php
$stop_date = '2009-09-30 20:24:00';
echo 'date before day adding: ' . $stop_date; 
$stop_date = date('Y-m-d H:i:s', strtotime($stop_date . ' + 1 day'));
echo 'date after adding 1 day: ' . $stop_date;
?>

132voto

Prasanth Bendra Points 9618

Je poste la réponse presque après 3,5 ans, Comme je ne pouvais pas trouver une réponse efficace ici.

Essaye ça :

 $date = new DateTime('2000-12-31');

$date->modify('+1 day');
echo $date->format('Y-m-d') . "\n";
 

7voto

user1987095 Points 58

Essaye ça

 echo date('Y-m-d H:i:s',date(strtotime("+1 day", strtotime("2009-09-30 20:24:00"))));
 

4voto

Doug Hays Points 1201

Je viens toujours d'ajouter 86400 (secondes dans une journée):

 $stop_date = date('Y-m-d H:i:s', strtotime("2009-09-30 20:24:00") + 86400);

echo 'date after adding 1 day: '.$stop_date;
 

Ce n'est pas la façon la plus simple de le faire, mais ça marche!

1voto

Peter Bailey Points 62125

Bien que je sois d'accord avec la réponse de Doug Hays, je vais préciser ici que la raison pour laquelle votre code ne fonctionne pas, c'est parce que strtotime () attend un INT comme second argument, et non une chaîne (même si elle représente une date).

Si vous activez le rapport d'erreur max, vous verrez ceci comme une erreur "Une valeur numérique non bien formée" qui correspond au niveau E_NOTICE.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X