gmdate în PHP

Formatează o dată la fel ca date(), dar mereu în ora UTC (GMT), indiferent de fusul orar setat.

Sintaxă
gmdate(string $format, ?int $timestamp = null): string

Ce face gmdate

gmdate primește aceleași litere de format ca date. Diferența este că afișează ora UTC, nu ora din fusul orar setat cu date_default_timezone_set.

Se folosește acolo unde standardul cere ora UTC: antetele HTTP (Last-Modified, Expires), fișierele sitemap, API-urile și jurnalele partajate între servere din țări diferite.

Parametri

Parametru Descriere
$format Șablonul datei, cu aceleași litere ca la date.
$timestamp Opțional. Momentul de timp. Implicit, acum.

Ce returnează

Data formatată în ora UTC, ca text.

Exemple

Exemplul 1: date și gmdate pentru același moment

În octombrie, România este cu 3 ore înaintea UTC (ora de vară).

<?php
date_default_timezone_set("Europe/Bucharest");
$t = 1792409700;

echo "Ora României: " . date("d.m.Y H:i", $t) . "\n";
echo "Ora UTC:      " . gmdate("d.m.Y H:i", $t);

Rezultat

Ora României: 19.10.2026 14:35
Ora UTC:      19.10.2026 11:35

Exemplul 2: Formatul pentru antetele HTTP și ISO 8601

Antetele HTTP cer ora GMT, în engleză. \T și \Z sunt litere afișate ca atare, nu coduri de format.

<?php
$t = 1792409700;

echo "Last-Modified: " . gmdate("D, d M Y H:i:s", $t) . " GMT\n";
echo gmdate("Y-m-d\\TH:i:s\\Z", $t);

Rezultat

Last-Modified: Mon, 19 Oct 2026 11:35:00 GMT
2026-10-19T11:35:00Z

Greșeli frecvente

  • Folosești date pentru antetele HTTP și adaugi „GMT” la final. Ora afișată este cea locală, deci greșită cu câteva ore. Folosește gmdate.

Comenzi înrudite

  • date: Afișează data și ora într-un anumit format.
  • date_default_timezone_set: Setează fusul orar folosit de toate funcțiile de dată din script, de exemplu Europe/Bucharest.
  • header: Trimite un antet HTTP către browser: redirecționare, tipul conținutului, descărcare de fișier, cache.
  • time: Returnează momentul curent ca număr de secunde de la 1 ianuarie 1970 (timestamp Unix).