Classes php pour date et difference entre deux dates

Soyez le premier à donner votre avis sur cette source.

Vue 7 129 fois - Téléchargée 531 fois

Description

Ce code définit une classe gérant des données de type "DateTime" :
- Il permet de stocker une date quelconque dans le passé ou dans le futur, sans limitation liée au timestamp. (*)
- Il permet de formater une date pour son affichage de manière très flexible. Les options de formatage sont similaires à celles de la fonction PHP date(), à l'exception de certaines (notamment celles traitant des fuseaux horaires et jours de la semaine) non implémentées.

(*) Néanmoins, il ne tient pas compte des différents types de calendriers, corrections de dates historiques, ... Il ne peut donc etre utilisé tel quel pour des dates trop anciennes.

Le code source est présent dans le fichier zip.

Conclusion :


Des informations supplémentaires se trouvent dans le fichier lisezmoi.txt.
Merci d'indiquer tous bugs éventuels à yann(à)gauteron.ch

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

cs_GRenard
Messages postés
1662
Date d'inscription
lundi 16 septembre 2002
Statut
Membre
Dernière intervention
30 juillet 2008
1 -
C'est le bordel, on n'y voit rien du tout... les enter ne sont pas mis !!
Remet ton code (et un zip serait apprécié !)
monphpcs
Messages postés
7
Date d'inscription
dimanche 13 juin 2004
Statut
Membre
Dernière intervention
3 juillet 2004
-
ouais... des codes sources pourraves on en voit partout mais celui-là bat tous les records....
derfum
Messages postés
45
Date d'inscription
vendredi 25 juin 2004
Statut
Membre
Dernière intervention
5 septembre 2004
-
Alors je me suis fait ch*** à le mettre en fore (à l'aide de moults retours à la lignes et le célèste CodeBeautifier dans PhpEdit) et voilà ce que j'en pense :
1- c'est très lourd (3 classes, 3 constantes, 7 propriétés, 28 méthodes !) pour des opérations sur des dates...
2- Tu utilises des noms de classes/méthodes déjà utilisés par PHP (date, is_a)
3- C'est en anglais (pour le formattage des dates), donc vraiment proche du comportement php (sauf pour les dates anterieures à 1970, en effet)
4- Tu mélanges tes méthodes/classes avec des fonctions PHP (checkdate et checktime, time,...) : On peut se poser la question sur l'utilité d'un tel script
5- C'est pas fini : Tu aurais pu le préciser (le switch dans date::GetString contient 13 cases vides mes les cases utilisées ne sont pas documentées)
6- Malgré cela, le code en soi est joli... enfin une jolie utilisation de surcharge (pour DateStruct::is_valid)

Par contre, j'ai appris graçe à "ton" script une façon interessante d'initialiser plusieurs variable avec list($var1,var2,...)= array(0,0,...)

FReD
geewhy
Messages postés
1
Date d'inscription
vendredi 2 juillet 2004
Statut
Membre
Dernière intervention
5 juillet 2004
-
Pour GRenard et monphpcs, le site ne sait apparemment pas gérer les sauts de ligne Unix.

GRenard: pour le zip, j'y penserai très bientot, promis.

derfum: Merci pour ton commentaire très constructif.
- Concernant les classes: effectivement, je ne suis pas très satisfait de la solution actuelle. Je pense bien repenser le design.
- Concernant les noms de classe / methode : la classe s'appelle initialement Date et pas date. C'est le site qui corrige la casse automatiquement :-( Pour le is_a, c'était volontaire, le is_a permettant justement de vérifier si un objet est bien une instance d'une classe donnée, le choix de ce nom de méthode me semblait pertinent.
- Je ne comprends pas le mélange méthodes/classes/fonctions dont tu parles.
- Le coté fini: effectivement, la méthode GetString n'est pas complète, notemment tout ce qui concerne les fuseaux horaires et les jours de la semaine.

-
williamprotti
Messages postés
46
Date d'inscription
samedi 15 mars 2003
Statut
Membre
Dernière intervention
21 mai 2007
-
Je comprend trés bien ce code, je ne voi pas ou il est mal fait???

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.