Falsche Berechnung Wochentag 0-6
Seit einigen Tagen wird der Wochentag 0-6 falsch ausgegeben.
Statt für Mittwoch, 01.05.2024 - welcher Tag 2 wäre, wird als 3 berechnet.
Das macht natürlich bei einer 1-31 Tage Tabelle alles kaputt.
Denn jetzt stimmen die Wochentage zu dem Datum nicht mehr.
Ist das Problem schon jemanden aufgefallen oder mache ich etwas falsch?
Die ganze Zeit lief es ohne Probleme.
Freue mich auf Antworten.
13 Antworten
-
Ich nutze dafür ein Datumsfeld (Periode) und diese Berechnung:
format(date(year(Periode), month(Periode), 0) + 1, "d") für den Tag 1 im Monat. -
Hallo, mir ist nicht klar, was genau da berechnet werden soll, aber den numerischen Wochentag (0 - 6) ermittelt man mit weekday(DATUM), die Zahl des Tagesdatums mit day(DATUM). Vielleicht hilft das weiter.
-
Du hast Recht. Noch vor einiger Zeit war die Formatierung "d" von Mo 0 bis So 6 und ist jetzt auf Mo 1 bis So 0 umgestellt worden.
https://forum.ninox.de/t/p8hn67v/format-bei-datetime
Dann gab es noch die Formatierung "e" die früher von Mo 1 bis So 0 ging und jetzt Mo 0 und So 6 ist. Besser kann man keine Verwirrung stiften. Und wieder mal transparent kommuniziert oder Update-bug.
Für Dich schlage ich vor, Dein Script von "d" auf "e" zu ändern, dann stimmen Deine Ergebnisse wieder.
-
Also, irgendwie stehe ich jetzt auf dem Schlauch ...
said:
Du hast Recht. Noch vor einiger Zeit war die Formatierung "d" von Mo 0 bis So 6 und ist jetzt auf Mo 1 bis So 0 umgestellt worden.Da ich "d" noch nie genutzt habe, kann ich nicht sagen, ob sich da mal was geändert hat. Aber du selbst schriebst ja schon vor einem Jahr:
"Wie man sieht ist weekday() nur mit format(date,"e") gleichzusetzen."
Und in der Tabelle darunter steht "d" auch für "Mo 1 bis So 0". Von daher müsste eine mögliche Änderung schon länger her sein als "jetzt"..
Ehrlich gesagt verstehe ich aber auch das Problem gar nicht. Mit weekday() funktioniert es doch seit eh und je, beginnend bei 0 für Montag.
weekday(date(year(Periode), month(Periode), 0) + 1)
Und wenn es unbedingt ein String sein muss, setzt man halt noch ein text() davor.
Content aside
- Status Answered
- vor 5 MonatenZuletzt aktiv
- 13Antworten
- 54Ansichten
-
3
Folge bereits