Voila. je dois vérifier deux dates d'exercices.
Si la date de début d'exercice est par exemple 01/06/2006, la fin d'exercice doit être 31/05/2007.
Je dois vérifier que la date de fin saisi est bien 31/05/2007.
Comment puis-je faire ?
Voila. je dois vérifier deux dates d'exercices.
Si la date de début d'exercice est par exemple 01/06/2006, la fin d'exercice doit être 31/05/2007.
Je dois vérifier que la date de fin saisi est bien 31/05/2007.
Comment puis-je faire ?
Salut melisse!
je vois pas trop le problème:
mais si tu veux controler le format de ta variable tu peux faire:(en mieux bien sûr
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 if(strlen(ereg_replace('[^0-9]','',$YYYYMMDD))==8) { $res[]=substr($YYYYMMDD,0,4); $res[]=substr($YYYYMMDD,4,2); $res[]=substr($YYYYMMDD,6,2); if ($res[1]==$month){...} })
Si tu veux comparer deux dates, tu peut utiliser leur timestamp c'est le plus simple.bon dev'
Code : Sélectionner tout - Visualiser dans une fenêtre à part if (time($fin)!=time($fin_saisie) {//alors je fais ça....}![]()
J'ai déja vérifier le format de la date. Si tu veux l'utilisateur saisi une date de début d'exercice et une date de fin d'exercice.
Je dois vérifier que la différence entre la date de fin et la date de début est équivalent à 1 année.
exemple :
date_debut = 01/02/2005
date_fin = 31/01/2006
Il y a bien 1 an entre ses 2 dates
autre exemple :
date_debut = 01/06/1999
date_fin = 30/04/2000
il n'y a pas 1 an entre les 2 dates, la date de fin devrai être 31/05/2000.
Dans ma reponse precedente, je me suis trompe: on utilise pas time() comme ca mais plutôt mktime():
Donc, je peux te proposer en solution simple (a tester pour voir sa valeur):(PHP 3, PHP 4, PHP 5)
mktime -- Retourne le timestamp UNIX d'une date
Description
int mktime ( [int hour [, int minute [, int second [, int month [, int day [, int year [, int is_dst]]]]]]] )
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 $date_debut = mktime(0,0,0,$debut[mois],$debut[jour],$debut[année]); $date_fin = mktime(0,0,0,$fin[mois],$fin[jour],$fin[année]); $temp = $date_fin - $date_debut; $timestamp_1_annee = mktime(0,0,0,1,1,2001) - mktime(0,0,0,1,1,2000);//:aie: if ($temp > $timestamp_1_annee){...}else{...}faudrait voir les ofnctions toutes faites sur le net...
Pour comparer deux dates il y'a la fonction getTime() qui convertit une date en milliseconde. Tu passes tes deux dates en milliseconde tu les soustraits l'une à l'autre et tu le repasse en jour en multipliant par 1000*60*60*24 si c'est supérieur à 365 alors c'est bon sinon c'est que c'est moins d'une année.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 function exercice ($date1,$date2){ list ($jour, $mois, $annee) = split ('/', $date1); $year = $annee + 1; $date_reel = mktime(0,0,0,$mois,0,$year); $month = $mois - 1; if (strlen($month)==1){ $month = "0".$month; } $date_reel = strftime ("%d", $date_reel)."/".$month."/".$year; if ($date_reel == $date2){ return true; }else{ return false; } }
Partager