Zum Inhalt springen
🛠️ToolsShed

Golden Hour Calculator

Finde Golden-Hour- und Blue-Hour-Fotografie-Fenster basierend auf deinem Standort und Datum.

Über dieses Tool

Die goldene Stunde ist das kurze Zeitfenster kurz nach Sonnenaufgang und kurz vor Sonnenuntergang, in dem die Sonne tief steht und alles in weiches, warmes Licht taucht, während die blaue Stunde die tiefere Dämmerung vor Sonnenaufgang und nach Sonnenuntergang ist, die den Himmel mit gleichmäßigen, kühlen Blautönen erfüllt. Beide werden von Fotografen geschätzt, weil sie schmeichelhafte, stimmungsvolle Bilder erzeugen, mit denen das harte Mittagslicht schlicht nicht mithalten kann. Dieser Rechner nutzt astronomische Formeln, um für jedes Datum und jeden Ort genau zu bestimmen, wann sich diese Fenster öffnen und schließen.

Zur Nutzung geben Sie einfach Ihr Datum und Ihren Standort ein, und das Werkzeug zeigt die Anfangs- und Endzeiten der goldenen und der blauen Stunde rund um Sonnenaufgang und Sonnenuntergang an. Es ist für Fotografen, Videografen und Reisende gedacht, die eine Aufnahme auf die Minute genau planen und ankommen wollen, solange das Licht noch perfekt ist.

Bedenken Sie, dass sich diese Zeiten je nach Jahreszeit und geografischer Breite deutlich verschieben, prüfen Sie daher stets die Werte für Ihr genaues Datum, statt sich auf eine grobe Schätzung zu verlassen. Alles wird lokal in Ihrem Browser berechnet, sodass keine Standortdaten jemals Ihr Gerät verlassen.

Häufig gestellte Fragen

Code-Implementierung

import math
from datetime import datetime, timedelta, timezone

def sun_times(lat: float, lon: float, date: datetime) -> dict:
    """Calculate sunrise, sunset and golden hour times."""
    # Day of year
    N = date.timetuple().tm_yday

    # Mean longitude and anomaly
    L = (280.460 + 0.9856474 * N) % 360
    g = math.radians((357.528 + 0.9856003 * N) % 360)

    # Ecliptic longitude
    lam = math.radians(L + 1.915 * math.sin(g) + 0.020 * math.sin(2 * g))

    # Declination
    decl = math.asin(math.sin(math.radians(23.439)) * math.sin(lam))

    # Hour angle for sunrise/sunset (sun altitude = -0.833°)
    cos_ha = (math.sin(math.radians(-0.833)) - math.sin(math.radians(lat)) * math.sin(decl)) /              (math.cos(math.radians(lat)) * math.cos(decl))

    if abs(cos_ha) > 1:
        return {"error": "Midnight sun or polar night"}

    ha = math.degrees(math.acos(cos_ha))

    # Equation of time correction (simplified)
    B = math.radians(360 / 365 * (N - 81))
    eot = 9.87 * math.sin(2 * B) - 7.53 * math.cos(B) - 1.5 * math.sin(B)

    # Solar noon in minutes from midnight UTC
    solar_noon = 720 - 4 * lon - eot

    sunrise_min = solar_noon - 4 * ha
    sunset_min  = solar_noon + 4 * ha

    # Golden hour bounds: sun at 6° above horizon
    cos_gh = (math.sin(math.radians(6)) - math.sin(math.radians(lat)) * math.sin(decl)) /              (math.cos(math.radians(lat)) * math.cos(decl))
    gh_ha = math.degrees(math.acos(max(-1, min(1, cos_gh))))

    golden_end_morn = solar_noon - 4 * gh_ha
    golden_start_eve = solar_noon + 4 * gh_ha

    def mins_to_str(m):
        h, mn = divmod(int(m), 60)
        return f"{h:02d}:{mn:02d}"

    return {
        "sunrise": mins_to_str(sunrise_min),
        "golden_hour_morning_end": mins_to_str(golden_end_morn),
        "solar_noon": mins_to_str(solar_noon),
        "golden_hour_evening_start": mins_to_str(golden_start_eve),
        "sunset": mins_to_str(sunset_min),
    }

# New York City
result = sun_times(40.7128, -74.0060, datetime(2024, 6, 21))
for k, v in result.items():
    print(f"{k}: {v}")

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.