CALENDRIER ANNUEL AVEC NUMÉRO DE SEMAINE

Signaler
Messages postés
341
Date d'inscription
mercredi 17 juillet 2002
Statut
Membre
Dernière intervention
14 juillet 2011
-
 Quartz -
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/52156-calendrier-annuel-avec-numero-de-semaine

Fonctionne sous PHP 7.1 parfait et merci.
Messages postés
67
Date d'inscription
dimanche 9 août 2009
Statut
Membre
Dernière intervention
30 avril 2019

Superbe, dommage qu'il n'y ai pas les jours fériés avec la police en rouge Belge et que quand tu passe ta souris dessus sa indique quel jour férié c'est, cela m'aurait beaucoup servi.

Beau boulot.
Très jolie travail. Bravo
> Polo
Bonjour
euh, le script fonctionne très bien dans la démo, mais de mon côté il plante, il dit (Cannot instantiate non-existent class: datetime in /home/booraq/www/TIMESTAMP/calendrierAnnuel.php on line 10)
comment faire pour corriger cette erreur ?
merci
Bonjour, je suis tomber sur votre script que je trouve très bien.
Je souhaiterai colorier le jour du calendrier en fonction des dates. Ces dates proviennent d'une table par exemple réservation. date de début et date de fin.
Question c'est possible?
Merci encore pour votre aide.
Messages postés
3
Date d'inscription
mardi 15 mars 2005
Statut
Membre
Dernière intervention
25 août 2010

=> GALANEDGAR, j'espère que cette modif corrige ton problème, si ce n'est pas le cas je rajouterai la sélection du fuseau horaire.

=> BARROIDRISSA
Dis moi si ça correspond à tes attentes :
[url]http://vbc3.com/script/calendrier2.zip/url
Messages postés
5
Date d'inscription
dimanche 23 septembre 2007
Statut
Membre
Dernière intervention
14 janvier 2011

Bonjour LGGILLOU,

J'ai essayé ton code mais je n'arrive pas...
Je suis au canada donc mon ordi a été configuré selon la date d'Amérique Nord...

Voici le message d'erreur :

Fatal error: Uncaught exception 'Exception' with message 'DateTime::__construct(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'America/New_York' for '-4.0/DST' instead' in C:\inetpub\wwwroot\toto\test\test_calendrier.php:11 Stack trace: #0 C:\inetpub\wwwroot\toto\test\test_calendrier.php(11): DateTime->__construct() #1 {main} thrown in C:\inetpub\wwwroot\toto\test\test_calendrier.php on line 11

Alors il faut ajouter quelques choses pour que on peut rectifier les paramètres selon le pays
En définissant le décalage horaire par défaut de toutes les fonctions date/heure

//date_default_timezone_set('America/Montreal');
date_default_timezone_set('Europe/Paris');
Messages postés
3
Date d'inscription
vendredi 10 avril 2009
Statut
Membre
Dernière intervention
4 novembre 2010

Salut LGGillou,
c'est en quelque sorte ça,mais au lieu de le faire pour tous les mois,ça sera la première colonne où on aura uniquement les jours avant d'en arrivé a la colonne janvier,fevrier etc.
je sais pas si je me fait comprendre.merci beaucoup!!!!
Messages postés
3
Date d'inscription
mardi 15 mars 2005
Statut
Membre
Dernière intervention
25 août 2010

=> JECA, merci de cette info, je l'ai donc mis à jour en suivant tes conseils.
=> GILLARDG, en effet, mais après c'est affaire de goût... Fin je l'ai modifié dans ce sens.
=> BARROIDRISSA, je ne suis pas sûr de comprendre ce que tu veux, est-ce quelque chose comme ça que tu veux: une colonne avec le mot janvier au milieu verticalement puis une colonne avec les jours et ainsi de suite pour les mois suivants?
Messages postés
341
Date d'inscription
mercredi 17 juillet 2002
Statut
Membre
Dernière intervention
14 juillet 2011
12
=> LGGillou
La méthode "format" de l'objet "DateTime" utilise les mêmes paramètres que la fonction "date()".
Donc, en reprenant mon exemple précédent
$date -> format('L') retourne 1 (année bissextile)
$date -> format('W') retourne O8 (numéro de semaine)
Messages postés
3
Date d'inscription
vendredi 10 avril 2009
Statut
Membre
Dernière intervention
4 novembre 2010

salut,votre script il est impecable,j'avais quelques chose a ajouter comme commentaire je sais pas comment mais si vous arrivez a l'integré ça sera un plus: si c'est possible d'ajouter les jours en une colonne juste a coté de janvier.merci encore il est best votre script!
Messages postés
3275
Date d'inscription
jeudi 3 avril 2008
Statut
Membre
Dernière intervention
14 septembre 2014
3
salut ,
je viens de voir la démo , pas le code et je trouve que la présentation n'est pas top , un calendrier à toutes les colonnes de mêmes longueur ( bon ok c'est un détail )
Messages postés
3
Date d'inscription
mardi 15 mars 2005
Statut
Membre
Dernière intervention
25 août 2010

Salut, merci de ton commentaire, il est vrai que j'aurai pu le faire plus générique, mais bon il me semble que l'objet DateTime n'a ni la méthode pour retourner les années bissextiles, ni celle pour obtenir les numéros de semaines.
Donc à coder...
On verra pour le faire évoluer dans ce sens.
Messages postés
341
Date d'inscription
mercredi 17 juillet 2002
Statut
Membre
Dernière intervention
14 juillet 2011
12
Bonjour,

Tu aurais dû utiliser l'objet "DateTime" ; il permet de s'affranchir des limites de dates.
Un exemple trè basique :
<?php
$date = New DateTime('1600-02-15');
$date -> modify('+10 day');
echo $date -> format('l d F Y');
?>