oujood.com

PHP la fonction strftime()

La fonction strftime() formate une date/heure locale avec la configuration locale

PHP cours tutorial

La fonction strftime()

Version : PHP 4, PHP 5, PHP 7, PHP 8

Cette fonction est OBSOLÈTE à partir de PHP 8.1.0. Il est fortement recommandé de l'éviter.

La fonction Formate une date et/ou une heure suivant la localisation locale. Les noms des mois, des jours de la semaine mais aussi d'autres chaînes dépendant de la location, respecteront la localisation courante définie par la fonction setlocale().
Tous les caractères modificateurs ne sont pas toujours supportés par toutes les bibliothèques C. Dans ce cas, ils ne seront pas supportés par PHP non plus. De plus, toutes les plates-formes ne supportent pas les timestamps négatifs, et vos dates pourraient être limitées par le début de l'époque Unix. Cela signifie que %e, %T, %R et %D (et peut être d'autres) et les dates antérieures au 1er Janvier 1970 ne fonctionneront pas sous Windows, sur certaines distributions de Linux, et sur certains systèmes d'exploitation. Pour Windows, une liste complète des options de conversion est disponible sur le » site de MSDN.
Retourne une chaîne de caractères formatée suivant le paramètre format donné, en utilisant le paramètre timestamp ou la date locale courante si aucun timestamp n'est fourni. Les noms des mois, des jours de la semaine mais aussi d'autres chaînes dépendant de la location

Syntaxe

strftime(format,timestamp)


Liste de paramètres de la fonction strftime()


Paramètre Description
format Jour --- ---
%a Nom abrégé du jour de la semaine De Sun à Sat
%A Nom complet du jour de la semaine De Sunday à Saturday
%d Jour du mois en numérique, sur 2 chiffres (avec le zéro initial) De 01 à 31
%e Jour du mois, avec un espace précédant le premier chiffre De 1 à 31
%j Jour de l'année, sur 3 chiffres avec un zéro initial 001 à 366
%u Représentation ISO-8601 du jour de la semaine De 1 (pour Lundi) à 7 (pour Dimanche)
%w Représentation numérique du jour de la semaine De 0 (pour Dimanche) à 6 (pour Samedi)

Semaine --- ---
%U Numéro de la semaine de l'année donnée, en commençant par le premier Lundi comme première semaine 13 (pour la 13ème semaine pleine de l'année)
%V Numéro de la semaine de l'année, suivant la norme ISO-8601:1988, en commençant comme première semaine, la semaine de l'année contenant au moins 4 jours, et où Lundi est le début de la semaine De 01 à 53 (où 53 compte comme semaine de chevauchement)
%W Une représentation numérique de la semaine de l'année, en commençant par le premier Lundi de la première semaine 46 (pour la 46ème semaine de la semaine commençant par un Lundi)

Mois --- ---
%b Nom du mois, abrégé, suivant la locale De Jan à Dec
%B Nom complet du mois, suivant la locale De January à December
%h Nom du mois abrégé, suivant la locale (alias de %b) De Jan à Dec
%m Mois, sur 2 chiffres De 01 (pour Janvier) à 12 (pour Décembre)

Année --- ---
%C Représentation, sur 2 chiffres, du siècle (année divisée par 100, réduit à un entier) 19 pour le 20ème siècle
%g Représentation, sur 2 chiffres, de l'année, compatible avec les standards ISO-8601:1988 (voyez %V) Exemple : 09 pour la semaine du 6 janvier 2009
%G La version complète à quatre chiffres de %g Exemple : 2008 pour la semaine du 3 janvier 2009
%y L'année, sur 2 chiffres Exemple : 09 pour 2009, 79 pour 1979
%Y L'année, sur 4 chiffres Exemple : 2038

Heure --- ---
%H L'heure, sur 2 chiffres, au format 24 heures De 00 à 23
%I Heure, sur 2 chiffres, au format 12 heures De 01 à 12
%l ('L' minuscule) Heure, au format 12 heures, avec un espace précédant de complétion pour les heures sur un chiffre De 1 à 12
%M Minute, sur 2 chiffres De 00 à 59
%p 'AM' ou 'PM', en majuscule, basé sur l'heure fournie Exemple : AM pour 00:31, PM pour 22:23
%P 'am' ou 'pm', en minuscule, basé sur l'heure fournie Exemple : am pour 00:31, pm pour 22:23
%r Identique à "%I:%M:%S %p" Exemple : 09:34:17 PM pour 21:34:17
%R Identique à "%H:%M" Exemple : 00:35 pour 12:35 AM, 16:44 pour 4:44 PM
%S Seconde, sur 2 chiffres De 00 à 59
%T Identique à "%H:%M:%S" Exemple : 21:34:17 pour 09:34:17 PM
%X Représentation de l'heure, basée sur la locale, sans la date Exemple : 03:59:16 ou 15:59:16
%z Soit le décalage horaire depuis UTC, ou son abréviation (suivant le système d'exploitation) Exemple : -0500 ou EST pour l'heure de l'Est
%Z Le décalage horaire ou son abréviation NON fournie par %z (suivant le système d'exploitation) Exemple : -0500 ou EST pour l'heure de l'Est

L'heure et la date --- ---
%c Date et heure préférées, basées sur la locale Exemple : Tue Feb 5 00:45:10 2009 pour le 4 Février 2009 à 12:45:10 AM
%D Identique à "%m/%d/%y" Exemple : 02/05/09 pour le 5 Février 2009
%F Identique à "%Y-%m-%d" (utilisé habituellement par les bases de données) Exemple : 2009-02-05 pour le 5 février 2009
%s Timestamp de l'époque Unix (identique à la fonction time()) Exemple : 305815200 pour le 10 Septembre 1979 08:40:00 AM
%x Représentation préférée de la date, basée sur la locale, sans l'heure Exemple : 02/05/09 pour le 5 Février 2009

Divers --- ---
%n Une nouvelle ligne ("\n") ---
%t Une tabulation ("\t") ---
%% Le caractère de pourcentage ("%") ---
La longueur maximale de ce paramètre est de 1023 caractères.
timestamp Le paramètre optionnel timestamp est un timestamp Unix de type entier qui vaut par défaut l'heure courante locale si le paramètre timestamp n'est pas fourni. En d'autres termes, il faut par défaut la valeur de la fonction time().

Exemple avec strftime()

Exemple :       Copier le code


	<?php
	echo(strftime("%b %d %Y %X", mktime(20,0,0,12,31,98))."<br />");
	echo(gmstrftime("%b %d %Y %X", mktime(20,0,0,12,31,98))."<br />");
	//aficher  la date du jour, le temps, et le fuseau horaire.
	echo(gmstrftime("c'est %a le %d %b, %Y, %X fuseau horaire: %Z",time()));
	?>
 

Mise à jour pour PHP8.0 et version ultérieures

Si vous utlisez la version PHP8.0 ou +, un message d'erreur sera émis "PHP Deprecated: Function gmstrftime()", il indique que la fonction gmstrftime() utilisée dans votre code est obsolète. Cela signifie que cette fonction est déconseillée et peut ne plus être prise en charge dans les futures versions de PHP.

La fonction gmstrftime() est utilisée pour formater une date et une heure en utilisant le temps universel coordonné (UTC). Au lieu d'utiliser cette fonction obsolète, vous pouvez utiliser la fonction strftime() pour formater la date et l'heure locale, ou la fonction date() si vous n'avez pas besoin de spécifier le fuseau horaire.

Voici une version mise à jour de votre code en remplaçant gmstrftime() par strftime() :

code php

Exemple :       Copier le code

<?php
echo(strftime("%b %d %Y %X", mktime(20,0,0,12,31,98))."<br />");
echo(strftime("%b %d %Y %X", mktime(20,0,0,12,31,98))."<br />");
// Afficher la date du jour, le temps et le fuseau horaire.
echo(strftime("c'est %A le %d %b, %Y, %X fuseau horaire: %Z", time()));
?>

Si vous recevez également un avertissement indiquant que la fonction strftime() est obsolète dans votre fichier error_log, cela peut signifier que la configuration de votre serveur PHP a activé les avertissements pour les fonctions obsolètes. Bien que la fonction strftime() ne soit pas obsolète en soi dans les versions récentes de PHP, il est possible que certaines configurations spécifiques l'affichent comme obsolète.

Dans ce cas, vous pouvez utiliser la fonction date() comme alternative pour formater la date et l'heure. Voici une version modifiée de votre code en utilisant la fonction date() :

code php

Exemple :       Copier le code

<?php
echo(date("M d Y H:i:s", mktime(20,0,0,12,31,98))."<br />");
echo(date("M d Y H:i:s", mktime(20,0,0,12,31,98))."<br />");
// Afficher la date du jour, le temps et le fuseau horaire.
echo("C'est ".date("D d M, Y, H:i:s")." fuseau horaire: ".date("e", time()));
?>
Avec ce code, vous utilisez la fonction date() pour formater la date et l'heure dans le format souhaité. Assurez-vous de vérifier votre fichier error_log pour tout autre avertissement ou erreur qui pourrait nécessiter une attention supplémentaire.

L'exemple ci-dessus va afficher :

Dec 31 1998 20:00:00
Dec 31 1998 20:00:00
C'est Fri 26 Apr, 2024, 02:35:47 fuseau horaire: UTC

Avec ce code, vous utilisez la fonction strftime() pour formater la date et l'heure à l'aide du fuseau horaire local du serveur.





Voir aussi nos tutoriel :

fonction join

Alias de implode

Référence des drapeaux des filtres (flag-filters)

Référence des drapeaux des filtres (flag-filters)

le parser XML En PHP

Le parser XML En PHP