Ce face gmmktime
gmmktime are aceiași parametri ca mktime, în aceeași ordine (ora, minutul, secunda, luna, ziua, anul). Diferența: valorile sunt interpretate ca ora UTC, nu ca ora din fusul orar curent.
Este utilă când primești o dată în UTC (de la un API, dintr-un jurnal) și vrei timestamp-ul corect. Valorile din afara intervalului sunt corectate la fel ca la mktime.
Parametri
| Parametru | Descriere |
|---|---|
$hour |
Ora în UTC. |
$minute, $second |
Opțional. Minutul și secunda. |
$month, $day, $year |
Opțional. Luna, ziua și anul. |
Ce returnează
Timestamp-ul Unix, sau false la eroare.
Exemple
Exemplul 1: Același text, timestamp-uri diferite
Ora 12:00 în UTC este ora 15:00 în România (ora de vară), deci diferența este de 3 ore.
<?php
date_default_timezone_set("Europe/Bucharest");
$utc = gmmktime(12, 0, 0, 10, 19, 2026);
$local = mktime(12, 0, 0, 10, 19, 2026);
echo ($utc - $local) / 3600 . " ore diferență\n";
echo "12:00 UTC este " . date("H:i", $utc) . " în România";
Rezultat
3 ore diferență
12:00 UTC este 15:00 în România
Greșeli frecvente
- Folosești
gmmktimepentru o oră locală introdusă de utilizator. Rezultatul iese decalat cu 2-3 ore. Pentru ora locală foloseștemktime.
Comenzi înrudite
mktime: Construiește timestamp-ul Unix pentru o dată și o oră anume, din ore, minute, secunde, lună, zi și an.gmdate: Formatează o dată la fel ca date(), dar mereu în ora UTC (GMT), indiferent de fusul orar setat.date_default_timezone_set: Setează fusul orar folosit de toate funcțiile de dată din script, de exemplu Europe/Bucharest.