Dans cet article, nous apprendrons à utiliser la fonction DATE_SUNSET de PHP pour calculer le temps de coucher du soleil de l'année et générer enfin un graphique pour l'affichage visuel. L'ensemble du processus comprend deux parties: la collecte de données et le dessin du graphique.
La fonction Date_sunset intégrée de PHP peut renvoyer l'heure du coucher du soleil en fonction de la date spécifiée, de l'emplacement géographique (latitude et de la longitude) et de l'altitude. La syntaxe de base de la fonction est la suivante:
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
Paramètres communs Description:
$ horodatage : horodatage Unix pour la date.
$ returnformat : le format renvoyé, tel que la chaîne, l'horodatage, etc.
$ latitude et $ longitude : coordonnées géographiques.
$ utcoffset : décalage du fuseau horaire (par exemple, la Chine est 8,0 ).
Le code PHP suivant traversera toute l'année en unités de chaque jour, obtiendra le temps de coucher du soleil de chaque jour et le stockera dans un tableau:
<?php
$latitude = 39.9042; // Exemple:Latitude de Pékin
$longitude = 116.4074; // Exemple:Longitude à Pékin
$timezoneOffset = 8.0; // Temps de Pékin
$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
];
}
// SauverJSONdocument,Dessin frontal pratique
file_put_contents('sunset_data.json', json_encode($sunsetTimes, JSON_PRETTY_PRINT));
?>
Une fois ce code exécuté, un fichier Sunset_data.json sera généré, qui est l'heure du coucher du soleil de la journée.
Nous pouvons utiliser des bibliothèques frontales simples telles que Chart.js pour dessiner des graphiques. Voici un exemple de fichier HTML:
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>2025Tableau de temps de coucher du soleil</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: 'Temps de coucher(Heure)',
data: sunsetTimes,
borderColor: 'orange',
backgroundColor: 'rgba(255,165,0,0.3)',
fill: true,
tension: 0.3
}]
},
options: {
scales: {
y: {
title: {
display: true,
text: 'temps(Heure)'
}
},
x: {
title: {
display: true,
text: 'date'
},
ticks: {
maxTicksLimit: 12
}
}
}
}
});
});
</script>
</body>
</html>
Notez que l'URL de données de la récupération ci-dessus a été remplacée par https://m66.net/sunset_data.json , comme vous le demandez.
Grâce aux méthodes ci-dessus, nous avons utilisé PHP pour collecter des données de coucher de soleil pendant une année entière et rédigé un tableau de changement grâce à la technologie frontale. Cela vous permet de voir intuitivement les tendances changeantes du temps de coucher du soleil au cours de l'année, ce qui convient très bien aux applications météorologiques, aux rappels d'observation astronomique et à d'autres fonctions.
Si vous souhaitez rendre ce système plus parfait, vous pouvez également ajouter des stratégies de mise en cache et prendre en charge la commutation entre les différentes villes pour améliorer davantage l'expérience utilisateur.