Publié le 11/12/2014
Auteur James
Réseaux sociaux
0 partages
0 tweets
0 plus
0 commentaires

Afficher une date en francais

Gérer une date en PHP relève parfois du défi, les formats différents selon les pays, additionner ou soustraire des jours, voici quelques unes des taches à effectuer dans nos scripts.

Qu'est ce qu'une date

Les dates sont utilisées dans tous les pays avec les langues différentes et parfois un format spécifique. Il a fallu trouver une unité commune pour qu'une date soit la même dans les différentes régions du monde: le timestamp.
En PHP, la valeur en cours est obtenu ainsi:
<?php
//Affiche le timestamp actuel
echo date("U");
?>

A quoi correspond ce long numéro ?
Le timestamp est le nombre de secondes écoulées depuis le 1er janvier 1970. Cette manière de stocker une date sous forme de nombre seconde présente l'avantage d'être commun dans tous les pays. Par dessus, on y stocke les fuseaux horaires pour pouvoir communiquer une date juste suivant chaque région du monde.

Formater une date dans un langue

Le timestamp sert à stocker une date, par contre ça ne sert à rien de l'afficher dans une page HTML car cette valeur est incompréhensible. Le but de l'article est d'écrire une date dans le format courant, c-a-d jeudi le 11 décembre 2014.

Representation d'une date par constante

Il y a encore peu de temps, il n'existait aucun mécanisme pour afficher une date longue directement à partir de PHP. La fonction date() permet de formater une date par contre la langue française n'est pas supportée. Dans le script ci-dessous, nous allons extraire les données suivantes d'un Timestamp:
- le numéro du jour,
- le numéro du mois
pour ensuite le convertir dans le mot correspondant dans la langue francaise.
<?php
//Tableau de constante des jours
$JOURS=array("", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi", "Dimanche");
//Tableau de constante des mois
$MOIS=array("", "Janvier", "Fevrier", "Mars", "Avril", "Mai", "Juin", "Juillet", "Aout", "Septembre", "Octobre", "Novembre", "Decembre");
//timestamp actuel
$timestamp=date("U");
//indice du jour de 1 à 7
$numero_jour=date('N', $timestamp);
$jour=date('j', $timestamp);
//indice du mois de 1 à 12
$numero_mois=date('n', $timestamp);
$annee=date('Y', $timestamp);
//Jeudi, le 11 Decembre 2014
$date_fr=$JOURS[$numero_jour].', le '.$jour.' '.$MOIS[$numero_mois].' '.$annee;
echo $date_fr;
?>

Nous obtenons une belle date écrit en français. Par contre, il faut établir un tableau de constante pour chaque pays.

Afficher une date en fonction d'un fuseau horaire

La plateforme PHP a évolué et aujourd'hui ils existent toutes les fonctions pour afficher une date dans la langue du pays. De plus, elles permettent de respecter le fuseau horaire de chaque région du monde.
<?php
$timestamp=date("U");
/* Définir la configuration */
setlocale (LC_TIME, 'fr_FR','fra');
//fixer le décalage horaire  
date_default_timezone_set("Europe/Paris");
//jeudi, le 11 decembre 2014
$date_fr=strftime('%A, le %d %B %Y' ,$timestamp);
echo $date_fr;
?>
C'est bien plus simple avec strftime(). Pour etre nickel, je vous conseille d'encoder les accents des dates avec mb_convert_encoding() par exemple en UTF-8.


J'espère que l'article vous aidera pour afficher une date en francais et même dans toutes les langues du monde. Avec la fonction strftime(), un timestamp peut facilement être afficher dans n'importe quel format.
Merci à Fobec pour sa relecture.

Ajouter un commentaire

Les champs marqués d'un * sont obligatoires, les adresses emails se sont pas publiées.

A lire aussi

Réseaux sociaux
Présentation de l'article
Catégorie
php5 - script
Mise a jour
11/12/2014
Visualisation
vu 3359 fois
Public
Internaute
Auteur de la publication
James
Membre junior
Auteur de 6 articles
|BIO_PSEUDO|
Commentaires récents

Publié par math dans java

Salut, quelle est la modification a faire pour pouvoir utiliser une webcam usb qui n'est pas une logitech?

Publié par hilflo dans tuto

Pour Romaingineer, essaye d'aller voir dans le fichier functions.php dans ton theme, tu dois avoir des functions wp_enqueue_style ou wp_enqueue_script, c'est la que tu pourras faire des modifs

Publié par Fobec dans tuto

Les liens vers les feuilles de style sont definis dans le template. L'emplacement sur le FTP depend du CMS utilise, par exemple sous WordPress les fichiers sont dans le dossier '/wpcontent/themes'

Publié par nicolasterraes dans tuto

bonjour,
je ne comprends pas cette tape:

Les liens vers les feuilles de style et les fichier js sont declares dans les pages HTML. Modifiez les balises meta ainsi:
Feuille de style:
d...

Publié par Axel dans java

Bonjour Kezouille,
je viens de tester sur notre LAN (serveur Windows 7), la surveillance a l'air de marcher.
De votre cote, s'agit-il d'un serveur sous Windows ou sous Linux ?
Pouvez-vou...