PHP Velho Oeste 2024

gmstrftime

(PHP 4, PHP 5, PHP 7, PHP 8)

gmstrftimeFormate une date/heure GMT/CUT en fonction de la configuration locale

Avertissement

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

Les alternatives à cette fonction incluent :

Description

gmstrftime(string $format, ?int $timestamp = null): string|false

gmstrftime() se comporte exactement comme strftime() hormis le fait que l'heure utilisée est celle de Greenwich (Greenwich Mean Time, GMT). Par exemple, dans la zone Eastern Standard Time (est des USA) est GMT -0500, la première ligne de l'exemple ci-dessous affiche "Dec 31 1998 20:00:00", tandis que la seconde affiche "Jan 01 1999 01:00:00".

Avertissement

Cette fonction dépend des informations locales du système d'exploitation, qui peuvent être incohérentes ou ne pas être disponibles du tout. Utilisez plutôt la méthode IntlDateFormatter::format().

Liste de paramètres

format

Voir la description de la fonction strftime().

timestamp

Le paramètre optionnel timestamp est un timestamp Unix de type entier qui vaut par défaut l'heure courante locale si timestamp est omis ou null. En d'autres termes, il vaut par défaut la valeur de la fonction time().

Valeurs de retour

Retourne une chaîne de caractères formatée suivant le format donné par le paramètre timestamp ou la date courante si aucun paramètre timestamp n'est fourni. Les noms des mois, des jours de la semaine et des autres chaînes dépendant d'une localisation donnée, respectent la localisation courante définie par la fonction setlocale(). En cas d'échec, false est retourné.

Historique

Version Description
8.0.0 timestamp est désormais nullable.

Exemples

Exemple #1 Exemple avec gmstrftime()

<?php
setlocale
(LC_TIME, 'en_US');
echo
strftime("%b %d %Y %H:%M:%S", mktime(20, 0, 0, 12, 31, 98)) . "\n";
echo
gmstrftime("%b %d %Y %H:%M:%S", mktime(20, 0, 0, 12, 31, 98)) . "\n";
?>

Voir aussi

add a note add a note

User Contributed Notes 4 notes

up
0
yellow dot snow at huskies dot com
19 years ago
HTTP 1.1 (RFC 2068) requires an RFC 1123 date with a four digit year, so the correct format to use for a Last-modified header would look something like this:

<?php
header
("Last-modified: " .
gmstrftime("%a, %d %b %Y %T %Z",getlastmod()));
?>
up
-1
pvdster at hotmail dot com
19 years ago
If you want the dutch time on your pages and you are hosted on a server in the USA you can easily change it this way:

<?php
setlocale
(LC_TIME, 'nl_NL');
$tgl = gmstrftime("%d %B %Y - %H:%M uur",time()+3600);
?>

Then use $tgl to display the right time.
Note the +3600 is a day light savings time correction.
The result: 22 maart 2005 - 16:39 uur

First I used the normal date function and this was the previous result: March 22, 2005 - 04:28 AM

I needed it for a dutch guestbook.

I'm new to PHP and it took me a while to find it out and maybe it's of no use for experienced PHP programmers but I thought people can always ignore my post :)
up
-1
peter dot albertsson at spray dot se
19 years ago
gmstrftime() should not be used to generate a RFC 850 date for use in HTTP headers, since its output is affected by setlocale().

Use gmdate instead:

gmdate('D, d M Y H:i:s') . ' GMT';
up
-2
neo at gothic-chat d0t de
19 years ago
To get a RFC 850 date (used in HTTP) of the current time:

gmstrftime ("%A %d-%b-%y %T %Z", time ());

This will get for example:
Friday 25-Jun-04 03:30:23 GMT

Please note that times in HTTP-headers _must_ be GMT, so use gmstrftime() instead of strftime().
To Top