PHPKonf: Istanbul PHP Conference 2017


(PHP 4, PHP 5, PHP 7)

gmstrftimeFormatear una fecha/hora GMT/UTC según la configuración local


string gmstrftime ( string $format [, int $timestamp = time() ] )

Se comporta como strftime(), excepto que el instante devuelto es Tiempo medio de Greenwich (GMT). Por ejemplo, cuando se ejecuta en Hora estándar oriental (GMT -0500), la primera línea de abajo imprime "Dec 31 1998 20:00:00", mientras que la segunda imprime "Jan 01 1999 01:00:00".



Véase la descripción de strftime().


El parámetro opcional timestamp es una marca temporal de Unix de tipo integer que por defecto es la hora local si no se proporciona ningún valor a timestamp. En otras palabras, es de forma predeterminada el valor de la función time().

Valores devueltos

Devuelve una cadena formateada según la cadena de formato dada empleando la marca temporal timestamp dada o el instante local actual si no se da una marca temporal. Los nombres del mes y del día de la semana y otras cadenas dependientes del lenguaje respetan el localismo establecido con setlocale().


Ejemplo #1 Ejemplo de gmstrftime()

strftime("%b %d %Y %H:%M:%S"mktime(2000123198)) . "\n";
gmstrftime("%b %d %Y %H:%M:%S"mktime(2000123198)) . "\n";

Ver también

  • strftime() - Formatea una fecha/hora local según una configuración local

add a note add a note

User Contributed Notes 4 notes

pvdster at hotmail dot com
11 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:

(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 :)
peter dot albertsson at spray dot se
11 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';
yellow dot snow at huskies dot com
12 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:

("Last-modified: " .
gmstrftime("%a, %d %b %Y %T %Z",getlastmod()));
neo at gothic-chat d0t de
12 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