In PHP ist Date_Sunset () eine sehr praktische Funktion, mit der die Sonnenuntergangszeit der Sonne basierend auf bestimmten Daten, geografischen Standorten und anderen Parametern berechnet werden kann. In diesem Artikel wird vorgestellt, wie diese Funktion verwendet wird, um die Sonnenuntergangszeit unter Greenwich Time (GMT) zu erhalten und Beispiele für ihre spezifische Verwendung zu geben.
date_sunset(
int $timestamp,
int $format = SUNFUNCS_RET_STRING,
?float $latitude = ini_get("date.default_latitude"),
?float $longitude = ini_get("date.default_longitude"),
float $zenith = ini_get("date.sunset_zenith"),
float $gmt_offset = ini_get("date.default_timezone") // PHP 8.1+ ENTFERNT
): string|int|float|false
In der tatsächlichen Verwendung sind jedoch gemeinsame Aufrufmethoden einfacher, insbesondere in PHP 8.0 und darunter.
Die Greenwich Time (GMT) entspricht der Länge von Länge 0 , und wir können als Beispiel einen Breitengrad von 51,4769 (d. H. Nahe Greenwich Observatory in Großbritannien) auswählen. Der Schlüsselpunkt besteht darin, GMT_OFFSET auf 0 festzulegen , so dass die zurückgegebene Zeit die GMT -Zeit ist.
<?php
// Stellen Sie den aktuellen Zeitstempel auf heute ein 12:00 PM
$timestamp = strtotime('today noon');
// Greenwich Standort
$latitude = 51.4769;
$longitude = 0.0005;
// verwenden date_sunset Erhalten GMT Die Sonnenuntergangszeit unten(Rückgabezeit im String -Format)
$sunset = date_sunset(
$timestamp,
SUNFUNCS_RET_STRING,
$latitude,
$longitude,
90, // zenith Standardwert,一般verwenden 90
0 // GMT Offset ist 0
);
echo "Greenwich -ZeitDie Sonnenuntergangszeit unten为: $sunset";
?>
Ausgabebeispiel (abhängig vom aktuellen Datum):
Greenwich -ZeitDie Sonnenuntergangszeit unten为: 19:58
Änderungen zu PHP 8.1+ : Da PHP 8.1 der Parameter GMT_Offset entfernt wurde, kann der GMT -Offset nicht direkt angegeben werden. Wenn Sie PHP 8.1 oder höher verwenden, wird empfohlen, die Standardzeitzone auf UTC festzulegen.
Empfohlene Praktiken (Php 8.1+) :
<?php
date_default_timezone_set('UTC');
$timestamp = strtotime('today noon');
$latitude = 51.4769;
$longitude = 0.0005;
$sunset = date_sunset(
$timestamp,
SUNFUNCS_RET_STRING,
$latitude,
$longitude,
90
);
echo "Greenwich -Zeit(UTC)Die Sonnenuntergangszeit unten为: $sunset";
?>
Ergebnisformat : Sie können mit sunfuncs_ret_timestamp verwenden, um Unix -Zeitstempel zu erhalten, oder mit Sunfuncs_ret_double ein schwimmendes Punktformat (Stunden, z. B. 19.58).
Über die Funktion date_sunset () können Sie leicht die Sonnenuntergangszeit eines beliebigen geografischen Ortes unter einem bestimmten Datum erhalten. Wenn Sie Greenwich Time (GMT) erhalten möchten, besteht der Schlüssel darin , den Breitengrad und die Länge auf die Koordinaten in der Nähe des Greenwich Observatory zu setzen und den Zeitzonenversatz auf 0 (oder die Standardzeitzone auf UTC einzustellen) .