timezone_name_from_abbr în PHP

Dată și oră PHP 5.1.3+

Găsește un nume de fus orar (Europe/Helsinki) după o abreviere (EET) sau după decalajul față de UTC.

Sintaxă
timezone_name_from_abbr(string $abbr, int $utcOffset = -1, int $isDST = -1): string|false

Ce face timezone_name_from_abbr

Abrevierile ca EET sau CET nu identifică o țară, ci doar un decalaj. Funcția returnează primul identificator din baza de date care se potrivește. Pentru EET rezultatul este Europe/Helsinki, nu Europe/Bucharest, deși ambele au aceeași oră.

Dacă abrevierea este goală, se caută după decalajul în secunde și după indicatorul de oră de vară (1 vara, 0 iarna).

Parametri

Parametru Descriere
$abbr Abrevierea, de exemplu "EET", sau text gol.
$utcOffset Opțional. Decalajul față de UTC, în secunde.
$isDST Opțional. 1 pentru oră de vară, 0 pentru oră de iarnă, -1 oricare.

Ce returnează

Numele fusului orar, sau false dacă nu se găsește.

Exemple

Exemplul 1: După abreviere și după decalaj

<?php
var_dump(timezone_name_from_abbr("EET"));
var_dump(timezone_name_from_abbr("CET"));
var_dump(timezone_name_from_abbr("", 10800, 1));
var_dump(timezone_name_from_abbr("XYZ"));

Rezultat

string(15) "Europe/Helsinki"
string(13) "Europe/Berlin"
string(15) "Europe/Helsinki"
bool(false)

Greșeli frecvente

  • Folosești rezultatul ca fusul orar al utilizatorului. EET dă Europe/Helsinki; regulile de oră de vară pot diferi de cele din țara reală. Cere utilizatorului numele complet al fusului.

Comenzi înrudite

  • timezone_abbreviations_list: Returnează toate abrevierile de fusuri orare (eet, cet, utc…) cu decalajele și fusurile corespunzătoare.
  • timezone_open: Creează un obiect DateTimeZone dintr-un nume de fus orar, de exemplu Europe/Bucharest.