Aktueller Standort: Startseite> Neueste Artikel> Verwenden Sie eine Schleife, um alle Sonnenuntergangszeiten des Jahres zu durchqueren und ein Diagramm zu generieren

Verwenden Sie eine Schleife, um alle Sonnenuntergangszeiten des Jahres zu durchqueren und ein Diagramm zu generieren

M66 2025-05-31

In diesem Artikel lernen wir, wie die Funktion von PHP von PHP täglich die Sonnenuntergangszeit des Jahres verwendet und schließlich ein Diagramm für die visuelle Anzeige erstellt. Der gesamte Prozess enthält zwei Teile: Datenerfassung und Diagrammzeichnung.

1. Einführung bis Datum_Sunset -Funktion

Die integrierte Date_Sunset -Funktion von PHP kann die Zeit des Sonnenuntergangs basierend auf dem angegebenen Datum, dem geografischen Ort (Breite und Längengrad) und der Höhe zurückgeben. Die grundlegende Syntax der Funktion lautet wie folgt:

 date_sunset(
    int $timestamp,
    int $returnFormat = SUNFUNCS_RET_STRING,
    ?float $latitude = null,
    ?float $longitude = null,
    ?float $zenith = null,
    ?float $utcOffset = null
): string|int|float|false

Häufige Parameter Beschreibung:

  • $ timestamp : unix timestamp für Datum.

  • $ returnFormat : Das zurückgegebene Format wie Zeichenfolge, Zeitstempel usw.

  • $ Breite und $ Länge : Geografische Koordinaten.

  • $ UTCOFFSET : Zeitzone -Offset (z. B. ist China 8,0 ).

2. Gehen Sie das ganze Jahr durch und sammeln Sie Sonnenuntergangszeiten

Der folgende PHP -Code durchquert das ganze Jahr in Einheiten eines jeden Tages, erhält die Sonnenuntergangszeit eines jeden Tages und speichert sie in einem Array:

 <?php
$latitude = 39.9042;  // Beispiel:Pekings Breite
$longitude = 116.4074; // Beispiel:Länge in Peking
$timezoneOffset = 8.0; // Peking Zeit

$start = strtotime('2025-01-01');
$end = strtotime('2025-12-31');

$sunsetTimes = [];

for ($day = $start; $day <= $end; $day = strtotime('+1 day', $day)) {
    $sunset = date_sunset($day, SUNFUNCS_RET_STRING, $latitude, $longitude, 90.833333, $timezoneOffset);
    $formattedDate = date('Y-m-d', $day);
    $sunsetTimes[] = [
        'date' => $formattedDate,
        'sunset' => $sunset
    ];
}

// Sparen zuJSONdokumentieren,Praktische Front-End-Zeichnung
file_put_contents('sunset_data.json', json_encode($sunsetTimes, JSON_PRETTY_PRINT));
?>

Nachdem dieser Code ausgeführt wurde, wird eine Sunset_Data.json -Datei generiert, was die Sonnenuntergangszeit des Tages ist.

3.. Verwenden Sie Diagramme, um die Sonnenuntergangszeit anzuzeigen

Wir können einfache Front-End-Bibliotheken wie chart.js verwenden, um Diagramme zu zeichnen. Hier ist eine Beispiel -HTML -Datei:

 <!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>2025Jahr Sonnenuntergangszeitkarte</title>
    <script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
</head>
<body>
    <canvas id="sunsetChart" width="1000" height="500"></canvas>

    <script>
        fetch('https://m66.net/sunset_data.json')
            .then(response => response.json())
            .then(data => {
                const labels = data.map(item => item.date);
                const sunsetTimes = data.map(item => {
                    const parts = item.sunset.split(':');
                    return parseInt(parts[0]) + parseInt(parts[1]) / 60;
                });

                const ctx = document.getElementById('sunsetChart').getContext('2d');
                new Chart(ctx, {
                    type: 'line',
                    data: {
                        labels: labels,
                        datasets: [{
                            label: 'Sonnenuntergangszeit(Stunde)',
                            data: sunsetTimes,
                            borderColor: 'orange',
                            backgroundColor: 'rgba(255,165,0,0.3)',
                            fill: true,
                            tension: 0.3
                        }]
                    },
                    options: {
                        scales: {
                            y: {
                                title: {
                                    display: true,
                                    text: 'Zeit(Stunde)'
                                }
                            },
                            x: {
                                title: {
                                    display: true,
                                    text: 'Datum'
                                },
                                ticks: {
                                    maxTicksLimit: 12
                                }
                            }
                        }
                    }
                });
            });
    </script>
</body>
</html>

Beachten Sie, dass die Daten -URL des oben genannten Abrufs durch Sie bei Anfrage durch https://m66.net/sunset_data.json ersetzt wurde.

4. Zusammenfassung

Mit den oben genannten Methoden haben wir PHP für ein ganzes Jahr lang Sonnenuntergangsdaten erfasst und durch Front-End-Technologie ein Änderungsdiagramm gezogen. Auf diese Weise können Sie intuitiv die sich ändernden Trends der Sonnenuntergangszeit im Laufe des Jahres sehen, was für Wetteranwendungen, astronomische Beobachtungserinnerungen und andere Funktionen sehr geeignet ist.

Wenn Sie dieses System perfekter machen möchten, können Sie auch Caching -Strategien hinzufügen und das Umschalten zwischen verschiedenen Städten unterstützen, um die Benutzererfahrung weiter zu verbessern.