Étape 1 : extraction du $jour, $moi et $annee de la $date (avec explode())
Étape 2 : création du timestamp unix (= nombre de secondes écoulées depuis le 1er janvier 1970) avec mktime()
Étape 3 : obtenir le jour de la semaine correspondant à ce timestamp avec date() utilisé avec le format "w" et le $timestamp qui retourne le chiffre du jour de la semaine : 0 pour dimanche, 1 pour lundi...
Étape 2 : séparation de la date et de l'heure
Le seul espace de la chaîne de caractères qui constitue la variable $lastmodified est un séparateur entre la date et l'heure. On va donc la scinder en ses deux morceaux grâce à la fonction explode() qui renvoie les sous chaînes dans un tableau dont est extrait, via list(), les deux variables $date et $time.
Étape 3 : extraction des jour, mois, année
On procède selon le même schéma que précédemment sauf qu'ici c'est le tiret qui est séparateur dans la date.
Ensuite, on affiche l'élément du tableau des mois de l'année dont l'indice est égal au numéro du mois. Comme l'indice du tableau commence à zéro, il faut soustraire 1 à $month, cela aura aussi pour effet de caster cette chaîne en entier (et de supprimer le zéro éventuel en première position).
Une date au format MySQL est sous la forme suivante
"YYYY-DD-MM hh:mm:ss". Par conséquent, pour la convertir au
format francophone "jour/mois/annee hh:mm:ss", il nous faut
utiliser la fonction
strtotime()
qui essaye de lire une date au format anglophone, et de la transformer en
timestamp Unix.
Cette fonction renverra donc, en cas de succès, un nombre
entier qui correspondra au timestamp et FALSE sinon.
--FormatdateSELECT*, DATE_FORMAT(mon_champ_date, '%d/%m/%Y') AS date_fr FROM ma_table;
--FormatdatetimeSELECT*, DATE_FORMAT(mon_champ_datetime, '%d/%m/%Y%H:%i:%s') AS datetime_fr FROM ma_table
Le "timestamp" ou "timestamp Unix" est le nombre de secondes qui se sont écoulées entre un moment donnée et le 1er janvier 1970 à 0h0min0s GMT.
Cela veut dire que le timestamp ne change pas en fonction du fuseau horaire. C'est la fonction "date",
par exemple, qui utilisera le fuseau horaire en cours pour afficher correctement l'heure.
Vous trouverez un grand nombre d'explications sur l'utilisation des dates à l'adresse suivante : http://php.net/datetime
Sous le format "année-mois-jour hh:min:sec" on utilise la fonction sscanf() qui lit des données dans la chaîne str, et l'interprète en fonction du format
Par défaut en PHP, si vous utilisez une base de données
SQL Server et que vous souhaitez retourner une date,
celle-ci est formatée par rapport à la langue du serveur,
c'est-à-dire qu'il vous retourne les premières lettres du
mois en français. Pour y remédier, il faut éditer le
fichier php.ini et changer la valeur
mssql.datetimeconvert et la placer à Off.