09
Juin
2002

Gestion des dates en PHP

Que faire avec les timestamps ?

Bon maintenant, nous avons des timestamps, mais que peut-on bien en faire ??? Plusieurs options s'offrent à vous,

1 - Le formatage de date :

Le PHP possède une fonction qui permet de formater une date depuis un timestamp vers une date en chaîne de caractères. Il s'agit de la fonction date().

<?php
    $chaine 
date(String Format, [int Timestamp]);
?>

Le paramètre Format permet de spécifier le type d'informations que l'on veut extraire du timestamp. A noter également que ce timestamp est optionnel, et si vous l'omettez, date() utilisera l'heure en cours.

Voici la liste des paramètres qu'utilise date() :

a : am (matin) ou pm (après-midi)
A : AM (matin) ou PM (après-midi)
B : Heure Internet Swatch
d : Jour du mois avec le zéro (01 à 31)
D : Jour de la semaine en 3 lettres et en anglais
F : Nom du mois en anglais
g : Heure, format 12h, sans le zéro (1 à 12)
G : Heure, format 24h, sans le zéro (0 à 23)
h : Heure, format 12 h (00 à 12)
H : Heure, format 24 h (00 à 23)
i : Minutes (00 à 59)
I : 1 si heure d'été, 0 si heure d'hiver
j : Jour du mois sans le 0 (1 à 31)
l : Jour de la semaine en anglais (version longue)
L : 1 si année bissextile 0 sinon
m : Numéro du mois sur 2 chiffres (01 à 12)
M : Nom du mois en Anglais en 3 lettres (Apr pour Avril)
n : Numéro du mois sans le 0 (1 à 12)
O : Différence avec l'heure de Greenwitch (ex: +0200)
r : Formaté RFC 822 : Thu, 21 Dec 2000 16:01:07 +0200 (>=PHP 4.0.4)
s : Secondes
S : Suffixe ordinal d'un nombre en anglais (nd et rd)
t : Nombre de jours dans le mois
T : Fuseau horaire (CEST, MET, etc)
U : Temps en secondes (timestamp)
w : Jour de la semaine (0 : Dimanche, 6 : Samedi)
Y : Année sur 4 chiffres
y : Année sur 2 chiffres
z : Jour de l'année (0 à 365)
Z : Décalage horaire en seconde

Voici différents exemples avec leur résultats :

date("d/m/Y H:i:s"); 14/09/2006 15:21:33
date("l d F Y"); Thursday 14 September 2006
date("h:i:s A T"); 03:21:33 PM CEST

Comme vous avez pu le remarquer, les quelques fonctions retournant les noms de mois et de jours sont en anglais. Il vous suffit d'une petite manipulation pour les obtenir en français :

<?php
   $monthes 
= array('''Janvier''Février''Mars''Avril''Mai''Juin''Juillet',
                            
'Août''Septembre''Octobre''Novembre''Décembre');
   
$days = array('Dimanche''Lundi''Mardi''Mercredi''Jeudi''Vendredi''Samedi');
   
$date_first $days[date('w')];
   
$date_second $monthes[date('n')];
   echo 
$date_first.' '.date('d').' '.$date_second.' '.date('Y');
?>

Le résultat :

Jeudi 14 Septembre 2006

Maintenant, à vous de manipuler les arguments de date() pour afficher la date dans le format que vous souhaitez.

Regardons maintenant de plus près la manipulation des timestamps...

Posté par Mathieu LESNIAK à 15:12 dans la catégorie Articles | RSS catégorie
Tag(s) associé(s) :
Partager cet article : Ajouter en favori sur KreuZZPoster cet article sur ScoopeoPoster cet article sur FuzzPoster cet article sur diggAjouter en favori sur Del.icio.usPoster cet article sur reddit
Erianor
09/06/02 21:44:44

Dommage que tu n'es pas écrit cette article il y a un mois. Il m'aurait évité quelques heures de prise de tête. Bravo car je trouve ça très clair. Je ne peux que vous encourager à continuer.

Sansnom
10/07/02 02:55:23

Quel est votre scrit de blog ? Celui que vous utilisez sur le site ?! ;-p) Si ce n'est pas indiscret ... !

maverick
10/07/02 18:25:05

Script de blog ? de koi tu parles ?

bonatoc
28/09/02 20:01:48

Un petit ajout pour gérer les "1" de chaque mois... ;-)

<?php    $monthes = array('', 'Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet',                             'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre');    $days = array('Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi');    $date_first = $days[date('w')];    $date_second = $monthes[date('n')]; $day_nr = date('d'); if ($day_nr == 1) {$day_nr = ("$day_nr"."er");}    echo $date_first.' '.$day_nr.' '.$date_second.' '.date('Y'); ?>

Kevbrok
05/04/04 18:08:46

Pas mal comme article ;)

Mais ya moyen de transformer le Timestampe en date & heure? Etles gérer avec le GMT ??

Ce serais trop bien :) merci ;)

OnRencontre
18/10/06 15:15:25

Je te conseille d'aller faire un tour sur http://www.phpinfo.net il y a des portions de script également pour gérer ça.

AzertyH
AzertyH
18/11/06 01:49:41

Merci pour ton tuto vraiment très claire. Il m'aide beaucoup pour comprendre ce qui me donne du fil à retordre en ce moment!

Merci mille fois

Les commentaires ne sont pas autorisés pour ce billet