Gunnar Bittersmann: Table -> Kalender

Beitrag lesen

@@Hannes Weninger

wie Implementiert man so eine Kalenderfunktion. Wenn z.B. angenommen heute Sonntag, der 28.08.2015 wäre, wie kann ich die Infos herbekommen, dass der August 31 Tage hat und am Donnerstag der 01.09 anzuzeigen ist.

In keiner Umgebung rechnest du mit Jahr/Monat/Datum(/Stunde/Minute), sondern immer mit dem Timestamp (Zeitstempel). Die oft zugrundeliegende Unix-Zeit fängt am 1970-01-01T00:00Z bei 0 an, Sekunden zu zählen (ohne Schaltsekunden zu berücksichtigen). JavaScript verwendet denselben Nullpunkt, zählt aber in Millisekunden.

Um von Timestamp des Sonntags zu dem des folgenden Donnertags (gleiche Uhrzeit) zu kommen, musst du 4 Tage addieren – umgerechnet in Sekunden also 4 × 24 × 60 × 60 bzw. in Millisekunden 4 × 24 × 60 × 60 × 1000.

Die Umrechnung von Timestamp in von Menschen gebräuchliche Datumsangabe findet bei der Ausgabe statt, nicht früher. Dafür bieten Programmiersprachen entsprechende Methoden (Funktionen).

Andersrum wird sofort nach der Eingabe eine Datumsangabe in einen Timestamp umgerechnet – auch dafür gibt es entsprechende Methoden.

Jahr, Monat, Datum, Stunde, Minute sind Dinge, die innerhalb eines Programmes (oder einer Datenbank) nicht vorkommen.

LLAP 🖖

--
Ist diese Antwort anstößig? Dann könnte sie nützlich sein.