Ce face date_sun_info
date_sun_info returnează timestamp-uri pentru sunrise (răsărit), sunset (apus), transit (amiaza solară) și cele trei feluri de crepuscul: civil, nautic și astronomic (*_begin, *_end).
Când soarele nu apune deloc (zi polară), valoarea este true; când nu răsare deloc, este false. Pentru afișare, formatează timestamp-urile cu date în fusul orar al locului.
Parametri
| Parametru | Descriere |
|---|---|
$timestamp |
O oră din ziua dorită (de preferat amiaza). |
$latitude |
Latitudinea, în grade (nord pozitiv). |
$longitude |
Longitudinea, în grade (est pozitiv). |
Ce returnează
Un tablou cu timestamp-uri (sau true/false pentru zilele polare).
Exemple
Exemplul 1: Răsărit și apus la Iași
<?php
date_default_timezone_set("Europe/Bucharest");
$soare = date_sun_info(mktime(12, 0, 0, 10, 19, 2026), 47.1585, 27.6014);
echo "Răsărit: " . date("H:i", $soare["sunrise"]) . "\n";
echo "Apus: " . date("H:i", $soare["sunset"]) . "\n";
echo "Amiază: " . date("H:i", $soare["transit"]);
Rezultat
Răsărit: 07:33
Apus: 18:15
Amiază: 12:54
Exemplul 2: Zi polară în Svalbard
<?php
$soare = date_sun_info(gmmktime(12, 0, 0, 6, 21, 2026), 78.22, 15.65);
var_dump($soare["sunrise"], $soare["sunset"]);
Rezultat
bool(true)
bool(true)
Greșeli frecvente
- Formatezi direct rezultatul cu
datefără să verifici tipul. La latitudini mari, valoarea poate fitruesaufalse, nu timestamp.
Comenzi înrudite
date: Afișează data și ora într-un anumit format.mktime: Construiește timestamp-ul Unix pentru o dată și o oră anume, din ore, minute, secunde, lună, zi și an.timezone_location_get: Returnează codul țării, coordonatele și comentariul asociate unui fus orar.