In PHP programmeren kan ik nauwelijks, maar gelukkig is er ChatGPT die dat wel kan. Zolang je maar de juiste beschrijving geeft van wat je geprogrammeerd wil hebben.
Definities gegeven door GhatGPT:
Burgerlijke schemering: Begint in de ochtend wanneer de zon 6 graden onder de horizon is en eindigt bij zonsopgang. In de avond begint het bij zonsondergang en eindigt wanneer de zon 6 graden onder de horizon bereikt.
Nautische schemering: Begint in de ochtend wanneer de zon 12 graden onder de horizon is en eindigt bij het begin van de burgerlijke schemering. In de avond begint het aan het einde van de burgerlijke schemering en eindigt wanneer de zon 12 graden onder de horizon bereikt.
Astronomische schemering: Begint in de ochtend wanneer de zon 18 graden onder de horizon is en eindigt bij het begin van de nautische schemering. In de avond begint het aan het einde van de nautische schemering en eindigt wanneer de zon 18 graden onder de horizon bereikt.
Gouden uur (Golden Hour): Dit is de periode van de dag net voor zonsondergang of net na zonsopgang, wanneer het licht van de zon rood en zacht is. Tijdens het gouden uur is het licht vaak mooi vanwege de prachtige, warme lichtinval waarvan bij helder weer dan sprake is. Alles krijgt een sfeervolle, roodgouden gloed en bijvoorbeeld gebouwen, mensen en wolken komen dan extra mooi uit. Het gouden uur verwijst naar de fase van de schemering wanneer de zon zo ver onder de horizon is dat de blauwe golflengtes van het licht domineren. Het gouden uur vindt meestal plaats wanneer de zon minder dan 6 graden boven de horizon staat.
Blauwe uur (Blue Hour): Dit is de periode van de schemering (in de ochtend of avond, rond de nautische fase) wanneer de zon op een aanzienlijke diepte onder de horizon is. Tijdens deze tijd neemt het resterende zonlicht voornamelijk een blauwe tint aan. Het blauwe uur verwijst naar de fase van de schemering wanneer de zon zo ver onder de horizon is dat de blauwe golflengtes van het licht domineren. Het blauwe uur vindt meestal plaats wanneer de zon tussen 4 en 8 graden onder de horizon staat.
Dit is de PHP-code die ChatGPT heeft geproduceerd:
Code: Selecteer alles<?php
/// Coördinaten voor Grave, Nederland
$latitude = 51.7611;
$longitude = 5.7372;
// Tijdzone voor Nederland
$timezone = "Europe/Amsterdam";
// Huidige datum
$date = date("Y-m-d");
// Zenithhoeken voor verschillende soorten schemering
$sunrise_zenith = 90+50/60;
$civil_twilight_zenith = 96;
$nautical_twilight_zenith = 102;
$astronomical_twilight_zenith = 108;
// Zonsopgang en zonsondergang berekenen
$sunrise = date_sunrise(strtotime($date), SUNFUNCS_RET_TIMESTAMP, $latitude, $longitude, $sunrise_zenith, date("O")/100);
$sunset = date_sunset(strtotime($date), SUNFUNCS_RET_TIMESTAMP, $latitude, $longitude, $sunrise_zenith, date("O")/100);
// Burgerlijke schemering berekenen
$civil_twilight_begin = date_sunrise(strtotime($date), SUNFUNCS_RET_TIMESTAMP, $latitude, $longitude, $civil_twilight_zenith, date("O")/100);
$civil_twilight_end = date_sunset(strtotime($date), SUNFUNCS_RET_TIMESTAMP, $latitude, $longitude, $civil_twilight_zenith, date("O")/100);
// Nautische schemering berekenen
$nautical_twilight_begin = date_sunrise(strtotime($date), SUNFUNCS_RET_TIMESTAMP, $latitude, $longitude, $nautical_twilight_zenith, date("O")/100);
$nautical_twilight_end = date_sunset(strtotime($date), SUNFUNCS_RET_TIMESTAMP, $latitude, $longitude, $nautical_twilight_zenith, date("O")/100);
// Astronomische schemering berekenen
$astronomical_twilight_begin = date_sunrise(strtotime($date), SUNFUNCS_RET_TIMESTAMP, $latitude, $longitude, $astronomical_twilight_zenith, date("O")/100);
$astronomical_twilight_end = date_sunset(strtotime($date), SUNFUNCS_RET_TIMESTAMP, $latitude, $longitude, $astronomical_twilight_zenith, date("O")/100);
// Duur van elke fase berekenen
$daylight_duration = gmdate("H:i", $sunset - $sunrise);
$civil_twilight_duration_morning = gmdate("H:i", $sunrise - $civil_twilight_begin);
$civil_twilight_duration_evening = gmdate("H:i", $civil_twilight_end - $sunset);
$nautical_twilight_duration_morning = gmdate("H:i", $civil_twilight_begin - $nautical_twilight_begin);
$nautical_twilight_duration_evening = gmdate("H:i", $nautical_twilight_end - $civil_twilight_end);
$astronomical_twilight_duration_morning = gmdate("H:i", $nautical_twilight_begin - $astronomical_twilight_begin);
$astronomical_twilight_duration_evening = gmdate("H:i", $astronomical_twilight_end - $nautical_twilight_end);
echo "Zonsopgang: " . date("H:i:s", $sunrise) . "<br>";
echo "Zonsondergang: " . date("H:i:s", $sunset) . "<br>";
echo "Duur van daglicht: $daylight_duration<br>";
echo "Begin ochtend burgerlijke schemering: " . date("H:i:s", $civil_twilight_begin) . "<br>";
echo "Einde avond burgerlijke schemering: " . date("H:i:s", $civil_twilight_end) . "<br>";
echo "Duur van ochtend burgerlijke schemering: $civil_twilight_duration_morning<br>";
echo "Duur van avond burgerlijke schemering: $civil_twilight_duration_evening<br>";
echo "Begin ochtend nautische schemering: " . date("H:i:s", $nautical_twilight_begin) . "<br>";
echo "Einde avond nautische schemering: " . date("H:i:s", $nautical_twilight_end) . "<br>";
echo "Duur van ochtend nautische schemering: $nautical_twilight_duration_morning<br>";
echo "Duur van avond nautische schemering: $nautical_twilight_duration_evening<br>";
echo "Begin ochtend astronomische schemering: " . date("H:i:s", $astronomical_twilight_begin) . "<br>";
echo "Einde avond astronomische schemering: " . date("H:i:s", $astronomical_twilight_end) . "<br>";
echo "Duur van ochtend astronomische schemering: $astronomical_twilight_duration_morning<br>";
echo "Duur van avond astronomische schemering: $astronomical_twilight_duration_evening<br>";
?>
Met als uitvoer voor vandaag:
Zonsopgang: 08:48:14
Zonsondergang: 16:36:22
Duur van daglicht: 07:48
Begin ochtend burgerlijke schemering: 08:07:10
Einde avond burgerlijke schemering: 17:17:25
Duur van ochtend burgerlijke schemering: 00:41
Duur van avond burgerlijke schemering: 00:41
Begin ochtend nautische schemering: 07:23:16
Einde avond nautische schemering: 18:01:20
Duur van ochtend nautische schemering: 00:43
Duur van avond nautische schemering: 00:43
Begin ochtend astronomische schemering: 06:41:48
Einde avond astronomische schemering: 18:42:47
Duur van ochtend astronomische schemering: 00:41
Duur van avond astronomische schemering: 00:41