1

Weltzeit

...jedenfalls beliebige Teile davon. Reduzier- oder erweiterbar, wechselt Farbe nach Tageszeit, Anordnung variabel, auch nebeneinander, ohne Einfluss auf Umsatz und Gewinn, milde stimmungsaufhellend. Mirko

 

function SunsetAndRise(lat : number,long : number,timezoneValue : number) do
    let dateNow := now();
    let utc := datetime(dateNow) - time(1, 0);
    let localDate := date(utc + time(timezoneValue, 0));
    let localTime := time(utc + time(timezoneValue, 0));
    let zeitzone := timezoneValue;
    let breiteRad := 3.14159 * lat / 180;
    let dayCount := days(date(year(dateNow), 1, 0), date(year(dateNow), month(dateNow), day(dateNow)));
    let deklination := 0.4095 * sin(0.016906 * (dayCount - 80.086));
    let zeitdifferenz := 12 * acos((sin(-0.0145) - sin(breiteRad) * sin(deklination)) / (cos(breiteRad) * cos(deklination))) / 3.14159;
    let zeitgleichung := -0.171 * sin(0.0337 * dayCount + 0.465) - 0.1299 * sin(0.01787 * dayCount - 0.168);
    let sunSet := 12 + zeitdifferenz - zeitgleichung;
    let sunSetCorr := sunSet - long / 15 + zeitzone;
    let timeSunSet := time(sunSetCorr, 0);
    let sunRise := 12 - zeitdifferenz - zeitgleichung;
    let sunRiseCorr := sunRise - long / 15 + zeitzone;
    let timeSunRise := time(sunRiseCorr, 0);
    if text(timeSunRise) < text(localTime) and text(localTime) < text(timeSunSet) then
        " <text>&#127780; </text> " + "<b>" + localDate + " " + format(datetime(today(), localTime), "HH:mm") + "</b>"
    else
        " <text>&#127767;</text> " + "<b>" + localDate + " " + format(datetime(today(), localTime), "HH:mm") + "</b>"
    end + "<br>" + " ⇑ " + timeSunRise + " ☼ " + timeSunSet + " ⇓"
end;
"Funktion zur Bestimmung der Zeitzone durch Berechnung von Sommer- oder Winterzeit letzter Sonntag März/November - z.B. MEZ/MESZ";
function dayLightSavingTimeZone1(timeZone : number) do
    let beginn := last(for i in range(0, 31) do
                if weekday(date(2023, 3, i)) = 6 then
                    date(2023, 3, i)
                end
            end);
    let ende := last(for i in range(0, 31) do
                if weekday(date(2023, 10, i)) = 6 then
                    date(2023, 10, i)
                end
            end);
    if date(now()) >= beginn and date(now()) < ende then
        timeZone + 1
    else
        timeZone
    end
end;
"Funktion zur Bestimmung der Zeitzone durch Berechnung von Sommer- oder Winterzeit zweiter Sonntag März/erster Sonntag November - diverse Gebiete wechseln zu diesen Zeiten";
function dayLightSavingTimeZone2(timeZone : number) do
    let beginn := item(for i in range(0, 32) do
            if weekday(date(year(now()), 3, 1) + i) = 6 then
                date(year(now()), 3, 1) + i
            end
        end, 1);
    let ende := item(for i in range(0, 31) do
            if weekday(date(year(now()), 11, 1) + i) = 6 then
                date(year(now()), 11, 1) + i
            end
        end, 0);
    if date(now()) >= beginn and date(now()) <= ende then
        timeZone + 1
    else
        timeZone
    end
end;
"je ein Container für Orte - beliebig erweiterbar zu füllen mit: 1. dezimaler Breite, 2. dezimaler Länge, 3. dezimale Differenz zu Greenwich, oder Daylightsavingtime bei Sommer-/Winterzeit-Gebieten";
let adak := "🇺🇸 Adak/Alaska" + "<br>" + SunsetAndRise(51.9, -176.6, dayLightSavingTimeZone2(-10));
let badsuderode := "🇩🇪" + " Bad Suderode " + "<br>" + SunsetAndRise(51.73, 11.11, dayLightSavingTimeZone1(1));
let kathmandu := "🇳🇵 Kathmandu" + "<br>" + SunsetAndRise(27.7, 85.3, 5.75);
let ulaanbaatar := "🇲🇳" + " Ulaanbaatar " + "<br>" + SunsetAndRise(47.9, 106.9, 8);
let tongatapu := "🇹🇴 Tongatapu" + "<br>" + SunsetAndRise(-21.2, -175.3, 13);
let newYork := "🇺🇸 New York" + "<br>" + SunsetAndRise(40.6, -74, dayLightSavingTimeZone2(-5));
let tokio := "🇯🇵 Tokio" + "<br>" + SunsetAndRise(35.65, 139.65, 9);
let johannesburg := "🇿🇦 Johannesburg" + "<br>" + SunsetAndRise(26.2, 28, 2);
let greenwich := "🇬🇧" + " Greenwich " + "<br>" + SunsetAndRise(51.5, 0, dayLightSavingTimeZone1(0));
let css := "
<style>
    text{
    font-size: x-small;
    }
.grid-container {
    display: grid;
    grid-template-columns: repeat(3,1fr) ;
    grid-gap: 3px;
    background-color: transparent;
}
.formatNight, .formatDay {
    font-size:small;
    text-align: center;
    border-radius: .5em;
}
.formatNight {
    background-color: #0c225f;
    color:#F7BB57;
    border: thin solid #F7BB57;
}
.formatDay {
    background-color: #F7BB57;
    color:#0c225f;
    border: thin solid #0c225f;
}
</style>
";
let content := "
<aside class = 'grid-container'>
<aside " + if contains(adak, "#127767") then
        "class = 'formatNight'"
    else
        "class = 'formatDay'"
    end + ">" + adak + "</aside>
<aside " + if contains(newYork, "#127767") then
        "class = 'formatNight'"
    else
        "class = 'formatDay'"
    end + ">" + newYork + "</aside>
<aside " + if contains(greenwich, "#127767") then
        "class = 'formatNight'"
    else
        "class = 'formatDay'"
    end + ">" + greenwich + "</aside>
<aside " + if contains(badsuderode, "#127767") then
        "class = 'formatNight'"
    else
        "class = 'formatDay'"
    end + ">" + badsuderode + "</aside>
<aside " + if contains(johannesburg, "#127767") then
        "class = 'formatNight'"
    else
        "class = 'formatDay'"
    end + ">" + johannesburg + "</aside>
<aside " + if contains(kathmandu, "#127767") then
        "class = 'formatNight'"
    else
        "class = 'formatDay'"
    end + ">" + kathmandu + "</aside>
<aside " + if contains(ulaanbaatar, "#127767") then
        "class = 'formatNight'"
    else
        "class = 'formatDay'"
    end + ">" + ulaanbaatar + "</aside>
<aside " + if contains(tokio, "#127767") then
        "class = 'formatNight'"
    else
        "class = 'formatDay'"
    end + ">" + tokio + "</aside>
<aside " + if contains(tongatapu, "#127767") then
        "class = 'formatNight'"
    else
        "class = 'formatDay'"
    end + ">" + tongatapu + "</aside>
</aside>
";
html(css + content)

Antwort

null

Content aside

  • 1 „Gefällt mir“ Klicks
  • vor 1 JahrZuletzt aktiv
  • 36Ansichten
  • 1 Folge bereits