mois avec 30, 31 ou 29 jours
Modérateurs : jturlier, Météo Villarzel
mois avec 30, 31 ou 29 jours
Bonjour
je commence de nouveaux graphiques pour ma page des relevés du mois et je me pose une question sur la différence de jours sur chaque mois, comment indiquer le nombre de jours réellement.
est ce dans ces lignes ? est ce automatique ?
$stop=$list[0];
$start=$stop-(86400*2);//86400=24 heures donc 86400*2=48 heures
dominique
je commence de nouveaux graphiques pour ma page des relevés du mois et je me pose une question sur la différence de jours sur chaque mois, comment indiquer le nombre de jours réellement.
est ce dans ces lignes ? est ce automatique ?
$stop=$list[0];
$start=$stop-(86400*2);//86400=24 heures donc 86400*2=48 heures
dominique
https://www.meteo-canejan.fr/
ma config : VP2sql , Weaterlink 6.03 , NOAAtable, minimaxibis (sonde agricole), Windows 10 .
ma config : VP2sql , Weaterlink 6.03 , NOAAtable, minimaxibis (sonde agricole), Windows 10 .
- Météo Villarzel
- Administrateur du site
- Messages : 524
- Enregistré le : 06 févr. 2014, 09:48
- Contact :
Re: mois avec 30, 31 ou 29 jours
Salut,
si tu indiques $start=$stop-(86400*2);
ce sera toujours les dernière 48h quelque soit le nombre de jour du mois.
A+
si tu indiques $start=$stop-(86400*2);
ce sera toujours les dernière 48h quelque soit le nombre de jour du mois.
A+
Re: mois avec 30, 31 ou 29 jours
oui Pierre-André, et si je met :
$stop=$list[0];
$start=$stop-(86400*30);//86400=24 heures donc 86400*30= 30 dernier jours
ce seras pour les derniers 30 jours du mois, ma question c'est comment fait on pour que le "script" reconnaisse seul les mois en 30 ou 31 jours
$stop=$list[0];
$start=$stop-(86400*30);//86400=24 heures donc 86400*30= 30 dernier jours
ce seras pour les derniers 30 jours du mois, ma question c'est comment fait on pour que le "script" reconnaisse seul les mois en 30 ou 31 jours
https://www.meteo-canejan.fr/
ma config : VP2sql , Weaterlink 6.03 , NOAAtable, minimaxibis (sonde agricole), Windows 10 .
ma config : VP2sql , Weaterlink 6.03 , NOAAtable, minimaxibis (sonde agricole), Windows 10 .
- PascalWMR
- Messages : 323
- Enregistré le : 16 févr. 2014, 09:28
- Localisation : CONFLANS EN JARNISY (F54800)
- Contact :
Re: mois avec 30, 31 ou 29 jours
Bonjour,
il suffit de définir une variable ex $nbjm
puis de faire une boucle if elseif
if ( ((date('m', tadate)==01) || (date('m', tadate)==03) || (date('m', tadate)==05) ) || (date('m', tadate)==07)||(date('m', tadate)==08) || (date('m', tadate)==10) || (date('m', tadate)==12 ) ) { $nbjm=31}
elseif ((date('m', tadate)==04) || (date('m', tadate)==06) || (date('m', tadate)==09) ) || (date('m', tadate)==11)) {$nbjm=30}
elseif ((date('m', tadate)==02 && date('L', tadate)==1) {$nbjm=29} // année bissextile
elseif ((date('m', tadate)==02 && date('L', tadate)==0) {$nbjm=28}
ensuite, $start=$stop-(86400*$nbjm);
à vérifier quand même l'équilibre des parenthèses.
A+
Pascal
il suffit de définir une variable ex $nbjm
puis de faire une boucle if elseif
if ( ((date('m', tadate)==01) || (date('m', tadate)==03) || (date('m', tadate)==05) ) || (date('m', tadate)==07)||(date('m', tadate)==08) || (date('m', tadate)==10) || (date('m', tadate)==12 ) ) { $nbjm=31}
elseif ((date('m', tadate)==04) || (date('m', tadate)==06) || (date('m', tadate)==09) ) || (date('m', tadate)==11)) {$nbjm=30}
elseif ((date('m', tadate)==02 && date('L', tadate)==1) {$nbjm=29} // année bissextile
elseif ((date('m', tadate)==02 && date('L', tadate)==0) {$nbjm=28}
ensuite, $start=$stop-(86400*$nbjm);
à vérifier quand même l'équilibre des parenthèses.
A+
Pascal
Station VP2Plus, Windows 10 64 bits,WeatherLink 6.0.5, VP2SQL, Graphiques Dynamiques à partir d'une BDD MySQL
Météo Conflans-en-Jarnisy
Météo Conflans-en-Jarnisy
Re: mois avec 30, 31 ou 29 jours
merci Pascal pour cette solution qui parait si évidente pour toi et si compliqué pour mois.
d'apres ce que je comprend, la variable $nbjm vas aller chercher le bon mois. je vais essayer ça
je revient dire si j'y arrive
Dominique
d'apres ce que je comprend, la variable $nbjm vas aller chercher le bon mois. je vais essayer ça
je revient dire si j'y arrive
Dominique
https://www.meteo-canejan.fr/
ma config : VP2sql , Weaterlink 6.03 , NOAAtable, minimaxibis (sonde agricole), Windows 10 .
ma config : VP2sql , Weaterlink 6.03 , NOAAtable, minimaxibis (sonde agricole), Windows 10 .
- PascalWMR
- Messages : 323
- Enregistré le : 16 févr. 2014, 09:28
- Localisation : CONFLANS EN JARNISY (F54800)
- Contact :
Re: mois avec 30, 31 ou 29 jours
Non la variable $nbjm va déterminer le nombre de jour à afficher en fonction du test de la boucle if
nb tadate est la date à tester.
En clair en français,
si (le mois de la date à tester est égal à 01 ou 03 ou 05 ou 07 o 08 ou 10 ou 12) alors $nbjm=31
sinon si (le mois de la date à tester est égal à 04 ou 06 ou 09 ou 11) alors $nbjm=30
sinon si (le mois de la date à tester est égal à 02 et que le teste 'L' de la date à tester est égal a 1) alors $nbjm=29 car c'est une année bissextile
sinon si (le mois de la date à tester est égal à 02 et que le teste 'L' de la date à tester est égal a 0) alors $nbjm=28 car c'est pas une année bissextile
nb tadate est la date à tester.
En clair en français,
si (le mois de la date à tester est égal à 01 ou 03 ou 05 ou 07 o 08 ou 10 ou 12) alors $nbjm=31
sinon si (le mois de la date à tester est égal à 04 ou 06 ou 09 ou 11) alors $nbjm=30
sinon si (le mois de la date à tester est égal à 02 et que le teste 'L' de la date à tester est égal a 1) alors $nbjm=29 car c'est une année bissextile
sinon si (le mois de la date à tester est égal à 02 et que le teste 'L' de la date à tester est égal a 0) alors $nbjm=28 car c'est pas une année bissextile
Station VP2Plus, Windows 10 64 bits,WeatherLink 6.0.5, VP2SQL, Graphiques Dynamiques à partir d'une BDD MySQL
Météo Conflans-en-Jarnisy
Météo Conflans-en-Jarnisy
Re: mois avec 30, 31 ou 29 jours
d'accord Pascal, je comprend un peu mieux, par contre une question surement "bête" mais faut t'il remplacer (date('m', tadate)==01) tadate par le mois ou un autre format.
https://www.meteo-canejan.fr/
ma config : VP2sql , Weaterlink 6.03 , NOAAtable, minimaxibis (sonde agricole), Windows 10 .
ma config : VP2sql , Weaterlink 6.03 , NOAAtable, minimaxibis (sonde agricole), Windows 10 .
- PascalWMR
- Messages : 323
- Enregistré le : 16 févr. 2014, 09:28
- Localisation : CONFLANS EN JARNISY (F54800)
- Contact :
Re: mois avec 30, 31 ou 29 jours
Oui c'est ça.
il faut remplacer tadate par la date à tester au format tstamp ou recdateTZ.
A+
il faut remplacer tadate par la date à tester au format tstamp ou recdateTZ.
A+
Station VP2Plus, Windows 10 64 bits,WeatherLink 6.0.5, VP2SQL, Graphiques Dynamiques à partir d'une BDD MySQL
Météo Conflans-en-Jarnisy
Météo Conflans-en-Jarnisy
Re: mois avec 30, 31 ou 29 jours
merci beaucoup Pascal, je vais essayer de trouver le format tstamp, et il doit indiquer le début du mois ?
https://www.meteo-canejan.fr/
ma config : VP2sql , Weaterlink 6.03 , NOAAtable, minimaxibis (sonde agricole), Windows 10 .
ma config : VP2sql , Weaterlink 6.03 , NOAAtable, minimaxibis (sonde agricole), Windows 10 .
- PascalWMR
- Messages : 323
- Enregistré le : 16 févr. 2014, 09:28
- Localisation : CONFLANS EN JARNISY (F54800)
- Contact :
Re: mois avec 30, 31 ou 29 jours
Par contre je ne vois pas bien l’intérêt de calculer le nombre de jours à afficher si tu emploie la méthode que tu évoque ci-dessous.
Par contre si je devine bien ce que tu veux faire, si tu veux extraire tous les jours d'un mois donné, ça n'est pas comme cela qu'il faut s'y prender
A+
Si tu part avec la variable $stop=$list[0], ce qui en clair veut dire que la date de fin est égale à la date du dernier enregistrement, je ne vois pas l'intérêt de déterminer la date de début en fonction du nombre de jour d'un mois 28,29,30,ou 31 jours.muchistic a écrit : $stop=$list[0];
$start=$stop-(86400*2);//86400=24 heures donc 86400*2=48 heures
Par contre si je devine bien ce que tu veux faire, si tu veux extraire tous les jours d'un mois donné, ça n'est pas comme cela qu'il faut s'y prender
A+
Modifié en dernier par PascalWMR le 16 nov. 2014, 18:17, modifié 1 fois.
Station VP2Plus, Windows 10 64 bits,WeatherLink 6.0.5, VP2SQL, Graphiques Dynamiques à partir d'une BDD MySQL
Météo Conflans-en-Jarnisy
Météo Conflans-en-Jarnisy