Hintergrund

Die LUG Noris trifft sich am 1. und 3. Donnerstag im Monat real und am 2. und 4. per Videokonferenz. Wenn es einen 5. Donnerstag in einem Montag gibt, geht’s zum Inder.

Als uns aufgefallen ist, dass 2024 der unwahrscheinliche Fall eintritt, dass der Februar 5 Donnerstage hat, stellte sich unweigerlich die Frage: Wann tritt diese Konstellation das nächste Mal ein?

Wie oft kommt das eigentlich vor?

Rein statistisch gesehen ist die Frage schnell beantwortet: Nur wenn der 29. Feburar auf einen Donnerstag fällt. Dafür steht die Wahrscheinlichkeit 6:1, da jeder einzelne Wochentag gleich wahrscheinlich ist. Also im Durchschnitt jedes 7. Schaltjahr.

Aber wann konkret?

Nur auf die Frage "Wann konkret ist es denn wieder so weit?" fiel uns keine schnelle Antwort ein. Was macht der geneigte Nerd also? Na klar, ein kleines Script, das ich hiermit nachliefern möchte:

Die schnelle Lösung
#!/bin/bash

# 2023-11-26 booboo
# this script is for answering the question:
# when will a february next time have 5 thursdays?

YEAR=2024
while [[ $YEAR -lt 2100 ]]; do
    echo -n "$YEAR: "
    date --date="${YEAR}-02-29"
    YEAR=$(( YEAR + 4 ))
done
Die schöne Lösung
#!/bin/bash

# 2023-11-26 booboo
# this script is for answering the question:
# when will a february next time have 5 thursdays?

YEAR=2024
while [[ $YEAR -lt 2100 ]]; do
    DATESTRING=$(date --date="${YEAR}-02-29")
    DAY_OF_WEEK=$(LANG=C date --date="${YEAR}-02-29" +%a)

    if [[ $DAY_OF_WEEK = "Thu" ]]; then
        HIGHLIGHTER=" !!"
    else
        HIGHLIGHTER=""
    fi

    echo "${YEAR}: ${DATESTRING}${HIGHLIGHTER}"

    YEAR=$(( YEAR + 4 ))
done

Script zum Download: 5thursdays.sh

Ausgabe
~# ./5thursdays.sh
2024: Thu Feb 29 12:00:00 AM CET 2024 !!
2028: Tue Feb 29 12:00:00 AM CET 2028
2032: Sun Feb 29 12:00:00 AM CET 2032
2036: Fri Feb 29 12:00:00 AM CET 2036
2040: Wed Feb 29 12:00:00 AM CET 2040
2044: Mon Feb 29 12:00:00 AM CET 2044
2048: Sat Feb 29 12:00:00 AM CET 2048
2052: Thu Feb 29 12:00:00 AM CET 2052 !!
2056: Tue Feb 29 12:00:00 AM CET 2056
2060: Sun Feb 29 12:00:00 AM CET 2060
2064: Fri Feb 29 12:00:00 AM CET 2064
2068: Wed Feb 29 12:00:00 AM CET 2068
2072: Mon Feb 29 12:00:00 AM CET 2072
2076: Sat Feb 29 12:00:00 AM CET 2076
2080: Thu Feb 29 12:00:00 AM CET 2080 !!
2084: Tue Feb 29 12:00:00 AM CET 2084
2088: Sun Feb 29 12:00:00 AM CET 2088
2092: Fri Feb 29 12:00:00 AM CET 2092
2096: Wed Feb 29 12:00:00 AM CET 2096

Damit hätten wir also unsere Antwort: Es ist wirklich 2052