Un petit problème, qui tourne au cauchemar !
Je voudrai ajouter soit 1 jour soit 1 mois soit une année à une date donnée.
J'ai donc exploré date() et mktime, dan le manuel PHP en ligne, et j'ai construit ceci :
Mais j'obtiens cela :
jour 19 mois 01 annee 2024 datinv 25 01 25 datecle 250125
les jours ne fonctionnent pas comme je le voudrais !
Même punition pour M+ et J+ :
jour 19 mois 01 annee 2024 datinv 26 01 24 datecle 240126 J+1
jour 19 mois 01 annee 2024 datinv 25 02 24 datecle 240225 M+1
J'ai bien le changement d'année, le changement de mois ET le changement de jour, mais le jour n'est pas juste. On voit bien que le jour de départ est le 19, et on se retrouve avec un jour 25 !
Étonnant, non ?
Mais surtout très embêtant ! (d'habitude, je me sers d'un autre mot ).
J'ai pourtant suivi le manuel pas-à-pas, vérifiant bien mes entrées dans mktime, mm jj aa ...
Rien n'y fait.
Alors, si l'un d'entre vous à une piste, une idée ... je suis preneur.
Merci d'avance
Cordialement
H.
Je voudrai ajouter soit 1 jour soit 1 mois soit une année à une date donnée.
J'ai donc exploré date() et mktime, dan le manuel PHP en ligne, et j'ai construit ceci :
<?php
$frdate = '19 01 24';
list($wjour, $wmois, $wannee) = explode(' ', $frdate);
echo ' jour '.$wjour;
echo ' mois '.$wmois;
echo ' annee '.$wannee;
date(mktime (0, 0, 0, $wmois, $wjour, $wannee));
// extraction des jour, mois, an de la date
$an = mktime(0, 0, 0, date("m"), date("d"), date("y")+1);
$datinv = date('d m y', $an);
echo ' datinv '.$datinv;
$datecle = date('ymd', $an);
echo ' datecle '.$datecle;
?>
Mais j'obtiens cela :
jour 19 mois 01 annee 2024 datinv 25 01 25 datecle 250125
les jours ne fonctionnent pas comme je le voudrais !
Même punition pour M+ et J+ :
jour 19 mois 01 annee 2024 datinv 26 01 24 datecle 240126 J+1
jour 19 mois 01 annee 2024 datinv 25 02 24 datecle 240225 M+1
J'ai bien le changement d'année, le changement de mois ET le changement de jour, mais le jour n'est pas juste. On voit bien que le jour de départ est le 19, et on se retrouve avec un jour 25 !
Étonnant, non ?
Mais surtout très embêtant ! (d'habitude, je me sers d'un autre mot ).
J'ai pourtant suivi le manuel pas-à-pas, vérifiant bien mes entrées dans mktime, mm jj aa ...
Rien n'y fait.
Alors, si l'un d'entre vous à une piste, une idée ... je suis preneur.
Merci d'avance
Cordialement
H.