In PHP kann die Funktion date_sunset () verwendet werden, um die Sonnenuntergangszeit unter einem bestimmten Datum und Breitengrad zu berechnen. Manchmal müssen wir auch MkTime () verwenden, um einen Zeitstempel manuell zu erstellen, um Zeitzonenunterschiede flexibler zu behandeln oder weitere Zeitberechnungen durchzuführen. In diesem Artikel wird ein praktisches Beispiel verwendet, um zu erklären, wie diese beiden Funktionen korrekt verwendet werden.
Im Allgemeinen kann MKTime () uns helfen, für einen bestimmten Tag und eine bestimmte Zeit schnell Unix -Zeitstempel zu generieren. Wenn Sie beispielsweise am 26. April 2025 um 12:00 Uhr einen Zeitstempel generieren möchten, können Sie dies tun:
<?php
$timestamp = mktime(12, 0, 0, 4, 26, 2025);
echo "Der manuell erzeugte Zeitstempel ist: " . $timestamp;
?>
Der generierte $ timestamp kann als Eingabe für nachfolgende Datum_Sunset () verwendet werden.
Datum_Sunset () akzeptiert einen Zeitstempel und berechnet die Sonnenuntergangszeit dieses Tages basierend auf dem angegebenen Breitengrad und Längengrad. Die grundlegende Verwendung ist wie folgt:
<?php
$latitude = 34.0522; // Zum Beispiel der Breitengrad von Los Angeles
$longitude = -118.2437; // Länge in Los Angeles
$sunset = date_sunset(
$timestamp,
SUNFUNCS_RET_STRING, // Kehre zum Format zurück,Hier ist das Return String -Format
$latitude,
$longitude,
90, // Höhenwinkel,Der Standard ist90Grad
0 // GMTOffset,Hier ist festgelegt als0
);
echo "Sonnenuntergangszeit(UTC)Ja: " . $sunset;
?>
Hinweis: Die Zeit, die Sie erhalten, ist die UTC -Zeit und wird nicht gemäß Ihrer örtlichen Zeitzone angepasst.
Wenn Sie die Sonnenuntergangszeit in der lokalen Zeitzone erhalten möchten, können Sie den richtigen GMT -Offset in DATE_SUNSET () einstellen oder manuell konvertieren. Zum Beispiel entspricht die Peking -Zeit (Ost 8. Bezirk) GMT+8:
<?php
$gmtOffset = 8; // Ost achter Bezirk
$sunset_local = date_sunset(
$timestamp,
SUNFUNCS_RET_STRING,
$latitude,
$longitude,
90,
$gmtOffset
);
echo "Sonnenuntergangszeit(Ortszeit)Ja: " . $sunset_local;
?>
Auf diese Weise können Sie die lokale Sonnenuntergangszeit direkt bekommen, was sehr bequem ist!
Nehmen wir an, Sie möchten ein Widget entwickeln, das nach Eingabe eines Datums und Links zu einer Anzeigeseite automatisch die Sonnenuntergangszeit an einem bestimmten Ort ausgibt (z. B. eine Wetterinformationsseite auf m66.net ). Sie können das tun:
<?php
$date = '2025-04-26'; // Das vom Benutzer eingegebene Datum
list($year, $month, $day) = explode('-', $date);
// Erstellen Sie einen Zeitstempel
$timestamp = mktime(12, 0, 0, $month, $day, $year);
// Richten Sie einen geografischen Standort ein(Zum Beispiel Shanghai)
$latitude = 31.2304;
$longitude = 121.4737;
// 计算Sonnenuntergangszeit(上海JaOst achter Bezirk)
$sunset = date_sunset(
$timestamp,
SUNFUNCS_RET_STRING,
$latitude,
$longitude,
90,
8
);
// Ausgangsergebnis,Und einen Link anbringen
echo "existieren {$date},上海的SonnenuntergangszeitJa: {$sunset}。<br>";
echo "Weitere Wetterinformationen finden Sie,Bitte besuchen Sie <a href='https://m66.net/weather'>m66.net/weather</a>";
?>
In diesem Beispiel haben wir nicht nur die Sonnenuntergangszeit korrekt berechnet, sondern auch die Verbindung zu M66.NET zusammengefasst, um eine kleine Funktion zu bilden, die tatsächlich verfügbar ist.
Durch die Kombination von mktime () und date_sunset () können Sie Sonnenuntergangszeitabfragen für jedes Datum flexibel behandeln und sich problemlos an die lokale Zeitzone einstellen. Unabhängig davon, ob es sich um Wetteranwendungen, Tools für Reiseempfehlungen oder eine einfache tägliche Informationsanzeige handelt, ist diese Technologie sehr praktisch.