blog actif depuis 1328 jours.

retours d'expériences, codes sources, réflexions, humeurs... d'un webmaster

 

Mar.

07

Oct.

 
Il existe de nombreuses fonctions pour la gestion des date en PHP. Mais si vous avez à jongler entre les formats de dates SQL (YYYY-MM-DD), et littéraux (Jour No Mois Année, DD/MM/YYYY)... ça peut vite devenir répétitif et rébarbatif.

La classe que je vous propose est celle que j'utilise dans les projets que je développe. Elle regroupe les fonctions les plus courantes de manipulation des dates :
- recherche d'infos sur une date (nom du jour, no de semaine, nombre de jours dans le mois...)
- conversion des dates dans différents formats
- recherche d'une date à n jours de décalage…

Les formats de date reconnus :


SQL : YYYY-MM-JJ H:i:s
Format de date pour l'enregistrement dans une base de données
STR : JJ/MM/YYYY H:i:s
Ecriture de la date en français abrégé
FR : Jour JJ Mois YYYY
Ecriture de la date en français littéral
UNX : timestamp unix
Nombre de secondes depuis le 1er Janvier 1970
URL : YYYY/MM/JJ
Permet d'écrire une url avec des répertoires organisés selon la date (format utilisé pour les blogs, par exemple)
USR : MM/JJ/YYYY
Format reconnu par la commande linux useradd
RSS : Mon, 11 Aug 2008 14:18:58 (RFC822)
Format de date des fils RSS

Utilisation
Initialisation
$date = "03 octobre 2008 15:30:00";                    // date à traiter
$obj_date = new classe_date($date);
Conversion de date SQL en français
$obj_date->convert("FR");                        // vendredi 23 octobre 2008
Affichage des jours et mois  court
$obj_date->setMoisCourt();
$obj_date->setJourCourt();
$obj_date->convert("FR");                        // ven 23 oct 2008
Recherche de la date 15 jours avant
$obj_date->setMoisCourt(false);
$obj_date->setJourCourt(false);
$obj_date->getDateFrom(-15,"FR");                    // jeudi 18 septembre 2008
No de semaine
$obj_date->getSemaine();                        // 40
Nombre de jours entre le 05/10/2008 et le 10/10/2008
$obj_date->getJoursPeriode("05/10/2008","10/10/2008")        // 6
Date du Mardi de la semaine 30 en 2008
$obj_date->getJourSemaine(30, « Mardi » , « STR »,2008);    // 22/07/2008
Teste si l'année est bisextile
$obj_date->isBisextile(2000) ;                    // 1
Nombre de jours du mois de février
$obj_date->getJoursMois(« Février ») ;                // 29

Télécharger la classe PHP5 de gestion de dates

Pour ceux qui sont intéressés par le mug, rendez vous sur mugs.fr

 

Commentaires

Aucun commentaire

 

Ajouter un commentaire

nom / pseudo :
e-mail :

(Votre e-mail ne sera ni exploité, ni divulgué.)

site (facultatif)
 
romualb.com est sur Facebook
<Février 2012 
LunMarMerJeuVenSamDim
  01 02 03 04 05
06 07 08 09 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29