CALENDRIER ANNUEL AVEC NUMÉRO DE SEMAINE

cs_jeca Messages postés 341 Date d'inscription mercredi 17 juillet 2002 Statut Membre Dernière intervention 14 juillet 2011 - 9 août 2010 à 16:33
 Quartz - 6 avril 2018 à 18:11
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.
Tzmagnum Messages postés 126 Date d'inscription dimanche 9 août 2009 Statut Membre Dernière intervention 10 mai 2022
Modifié par Tzmagnum le 6/02/2016 à 01:32
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
booraq > Polo
17 févr. 2015 à 10:03
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.
LGGillou Messages postés 3 Date d'inscription mardi 15 mars 2005 Statut Membre Dernière intervention 25 août 2010
25 août 2010 à 17:22
=> 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
galanedgar Messages postés 5 Date d'inscription dimanche 23 septembre 2007 Statut Membre Dernière intervention 14 janvier 2011
16 août 2010 à 16:29
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');
barroidrissa Messages postés 3 Date d'inscription vendredi 10 avril 2009 Statut Membre Dernière intervention 4 novembre 2010
16 août 2010 à 14:57
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!!!!
LGGillou Messages postés 3 Date d'inscription mardi 15 mars 2005 Statut Membre Dernière intervention 25 août 2010
15 août 2010 à 21:56
=> 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?
cs_jeca Messages postés 341 Date d'inscription mercredi 17 juillet 2002 Statut Membre Dernière intervention 14 juillet 2011 14
10 août 2010 à 15:50
=> 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)
barroidrissa Messages postés 3 Date d'inscription vendredi 10 avril 2009 Statut Membre Dernière intervention 4 novembre 2010
10 août 2010 à 14:49
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!
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
10 août 2010 à 10:47
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 )
LGGillou Messages postés 3 Date d'inscription mardi 15 mars 2005 Statut Membre Dernière intervention 25 août 2010
9 août 2010 à 17:43
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.
cs_jeca Messages postés 341 Date d'inscription mercredi 17 juillet 2002 Statut Membre Dernière intervention 14 juillet 2011 14
9 août 2010 à 16:33
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');
?>
Rejoignez-nous