Pit: JS: Datum addieren

075

JS: Datum addieren

  1. 0
    1. 0
      1. 0
        1. 0
          1. 0

            JS: Datum addieren: Neuer Tag, neues Glück ;)

            1. 1
              1. 0

                Debuggen

                1. 0
                  1. 0
                    1. 0
                      1. 0
                2. 0
                  1. 0
                    1. 0
                      1. 0
                        1. 0
                      2. 0
                        1. 0
                          1. 0
              2. 0
                1. 0
                  1. 0
                    1. 0
                      1. 0
                        1. 0
                          1. 0
                            1. 0
                              1. 0
                                1. 0

                                  MDN Date(), Leseschwäche?

                                  1. 0
                                    1. 0
                                      1. 0
                              2. 0
  2. 0
    1. 0
    2. 0
      1. 0
        1. -2
          1. 0
            1. 0
              1. 0
                1. 0
                  1. 0
                    1. -3
                      1. 0
                      2. 0
        2. 5
          1. 0
            1. 0
          2. 3
            1. 0
              1. 0
                1. 0
          3. 0
            1. 0
              1. 0
                1. 0
                  1. 0
                    1. 0
                      1. 1
              2. 0
                1. 0
                  1. 0
                    1. 0
                      1. 0
                        1. 0
                          1. 0
                            1. -1
                              1. 0
                                1. 0
                                  1. -1
                                    1. 0
                                      1. 0
                            2. 0

Hallo,

ich möchte gerne in einer Schleife Tage zu einem Datum addieren. Ich mache aber etwas falsch. datenset.dayDiff ist bekannt und enthält einen Ingteger. datenset.von ist bekannt und enthält ein Datum im Format 27_10_2017

for(var i=0;i <= datenset.dayDiff;i++) { var datum = setDate(datenset.von + i); $('#'+datenset.maID+'_'+datum).removeClass(); // entfernen $('#'+datenset.maID+'_'+datum).addClass(datenset.class); // hinzufügen }

Ich möchte für eine Dauer von datenset.dayDiff Tagen eine Klasse setzen.

Was mache ich falsch?

Pit

  1. @@Pit

    datenset.von ist bekannt und enthält ein Datum im Format 27_10_2017

    Also einen String.

    var datum = setDate(datenset.von + i);

    Was tut denn der +-Operator, wenn ein Operand ein String ist?

    Lass dir mal datenset.von + i in der Konsole ausgeben!

    Die Funktion setDate() tut was?

    Was mache ich falsch?

    Die Klammersetzung.

    LLAP 🖖

    -- “When UX doesn’t consider all users, shouldn’t it be known as ‘Some User Experience’ or... SUX? #a11y” —Billy Gregory
    1. Hi Gunnar,

      datenset.von ist bekannt und enthält ein Datum im Format 27_10_2017

      Also einen String.

      Ok. Gibt es eine bessere methode, daraus ein Datum zu machen, als den String zu splitten und anschließend per new Date() ein Datum draus zu machen? Split kommt mir immer so ressourcenfressend vor...

      Was tut denn der +-Operator, wenn ein Operand ein String ist?

      Ja, er verlängert den String um i.

      Die Funktion setDate() tut was?

      Ein Datum setzen…

      Was mache ich falsch?

      Die Klammersetzung.

      Na, das alleine ists ja nicht.

      Pit

      1. @@Pit

        Gibt es eine bessere methode, daraus ein Datum zu machen, als den String zu splitten

        Gar nicht erst so ein komisches Datumformat verwenden‽

        und anschließend per new Date() ein Datum draus zu machen?

        new Date('2017-10-27'); // Date 2017-10-27T00:00:00.000Z

        Die Funktion setDate() tut was?

        Ein Datum setzen…

        Was mache ich falsch?

        Die Klammersetzung.

        Na, das alleine ists ja nicht.

        Vermutlich nicht. Du müsstest aber schon gesprächiger sein, was setDate() zurückgibt. Ein Date-Objekt?

        LLAP 🖖

        -- “When UX doesn’t consider all users, shouldn’t it be known as ‘Some User Experience’ or... SUX? #a11y” —Billy Gregory
        1. Hi Gunnar,

          Gar nicht erst so ein komisches Datumformat verwenden‽

          Ok. Dann muß ich aber etwas mehr ans "Eingemachte". Mache ich morgen.

          Vermutlich nicht. Du müsstest aber schon gesprächiger sein, was setDate() zurückgibt. Ein Date-Objekt?

          Ok, verstehe.

          Ich meld' mmich morgen dazu, danke für heute erstmal @Gunnar.

          Pit

          1. besser...aber ich kriegs immer noch nicht hin.

            Pit

            1. Tach!

              besser...aber ich kriegs immer noch nicht hin.

              Du hast einen Apfel, eine Birne und eine Erdbeere. Dazu addierst du 1. Was ist das Ergebnis?

              Du kannst nicht einfach eine einheitenlose Zahl zu Dingen hinzufügen und hoffen, dass sich von einem von ihnen die Anzahl erhöht.

              Um den Tag zu ändern, gibt es die Methode setDate() des Date-Objekts. Dazu musst du aber erstmal den aktuellen Tag ermitteln, um damit deine Rechnung auszuführen.

              Das schöne an setDate ist, dass du dich um den Überlauf nicht zu kümmern brauchst, das Date-Objekt kümmert sich selbständig darum, in den nächsten Monat zu wechseln.

              Und vergiss, dass es alert() gibt. console.log() ist das eindeutig bessere Debuggingwerkzeug. Das zwingt einen auch, die Konsole zu öffnen, um so eventuelle Fehlerausgaben sehen zu können.

              dedlfix.

              Folgende Nachrichten verweisen auf diesen Beitrag:

              1. Hallo,

                Und vergiss, dass es alert() gibt. console.log() ist das eindeutig bessere Debuggingwerkzeug.

                wenn es denn eine Konsole gibt …

                Zum Thema: Ich rechne bei Datümern in Sekunden.

                Gruß
                Jürgen

                1. Tach!

                  Und vergiss, dass es alert() gibt. console.log() ist das eindeutig bessere Debuggingwerkzeug.

                  wenn es denn eine Konsole gibt …

                  Entwickelst du denn solche nicht darstellungsrelevanten Dinge auf Mobilgeräten mit unzureichenden Browsern ohne Kopplung zu einem großen Gerät?

                  Zum Thema: Ich rechne bei Datümern in Sekunden.

                  Viel Spaß mit den Schalttagen.

                  dedlfix.

                  1. Hallo,

                    Und vergiss, dass es alert() gibt. console.log() ist das eindeutig bessere Debuggingwerkzeug.

                    wenn es denn eine Konsole gibt …

                    Entwickelst du denn solche nicht darstellungsrelevanten Dinge auf Mobilgeräten mit unzureichenden Browsern ohne Kopplung zu einem großen Gerät?

                    entwickeln nicht, aber ich teste meine Seiten auf allem, was ich benutzen darf.

                    Zum Thema: Ich rechne bei Datümern in Sekunden.

                    Viel Spaß mit den Schalttagen.

                    Gibt es da ein Problem? Beliebiges Datum wird in Sekunden seit 1970 umgerechnet, das kann das Date-Objekt dann rechne ich, und das Ergebnis wird dann wieder in das gewünschte Format umgerechnet.

                    Gruß
                    Jürgen

                    1. Hi,

                      Viel Spaß mit den Schalttagen.

                      Gibt es da ein Problem? Beliebiges Datum wird in Sekunden seit 1970 umgerechnet, das kann das Date-Objekt dann rechne ich, und das Ergebnis wird dann wieder in das gewünschte Format umgerechnet.

                      nicht mit den Schalttagen (29. Februar). Aber mit den zwei Tagen im Jahr, die nicht 24 Stunden lang sind (wenn die Umschaltung zur Sommerzeit bzw. Normalzeit erfolgt).

                      cu,
                      Andreas a/k/a MudGuard

                      1. Hallo,

                        das hängt von der Aufgabe ab: plus 1 Tag, egal wieviele Stunden, oder plus 24 Stunden, egal wieviele Tage.

                        Gruß
                        Jürgen

                2. @@JürgenB

                  Zum Thema: Ich rechne bei Datümern in Sekunden.

                  JavaScript rechnet in Millisekunden.

                  LLAP 🖖

                  -- “When UX doesn’t consider all users, shouldn’t it be known as ‘Some User Experience’ or... SUX? #a11y” —Billy Gregory
                  1. Hallo,

                    Zum Thema: Ich rechne bei Datümern in Sekunden.

                    JavaScript rechnet in Millisekunden.

                    zum Glück ist die Umrechnug nicht so kompliziert.

                    Gruß
                    Jürgen

                    1. @@JürgenB

                      Zum Thema: Ich rechne bei Datümern in Sekunden.

                      JavaScript rechnet in Millisekunden.

                      zum Glück ist die Umrechnug nicht so kompliziert.

                      + '000' 😉

                      LLAP 🖖

                      -- “When UX doesn’t consider all users, shouldn’t it be known as ‘Some User Experience’ or... SUX? #a11y” —Billy Gregory
                      1. Hallo Gunnar,

                        Zum Thema: Ich rechne bei Datümern in Sekunden.

                        JavaScript rechnet in Millisekunden.

                        zum Glück ist die Umrechnug nicht so kompliziert.

                        + '000' 😉

                        au ja, Rechnen mit Buchstaben. Wobei, mein „Auf 1 2 5“-Rundungsalgorithmus arbeitet mit Strings.

                        Gruß
                        Jürgen

                        1. @@JürgenB

                          au ja, Rechnen mit Buchstaben. Wobei, mein „Auf 1 2 5“-Rundungsalgorithmus arbeitet mit Strings.

                          Mein Datumsprüfer auch. 😉

                          LLAP 🖖

                          -- “When UX doesn’t consider all users, shouldn’t it be known as ‘Some User Experience’ or... SUX? #a11y” —Billy Gregory
                      2. Hallo,

                        JavaScript rechnet in Millisekunden.

                        zum Glück ist die Umrechnug nicht so kompliziert.

                        + '000' 😉

                        häh? dann bist du bei Mikrosekunden. Um auf Sekunden zu kommen musst du die Nullen entfernen:
                        - '000'

                        Gruß
                        Kalk

                        1. Hi,

                          Da fehlte eine Zeile zum Kontext:

                          Zum Thema: Ich rechne bei Datümern in Sekunden.

                          JavaScript rechnet in Millisekunden.

                          zum Glück ist die Umrechnug nicht so kompliziert.

                          + '000' 😉

                          häh? dann bist du bei Mikrosekunden. Um auf Sekunden zu kommen musst du die Nullen entfernen:

                          Um von Jürgens Sekunden auf Javascriptens Millisekunden zu kommen, muß man '000' anhängen.

                          cu,
                          Andreas a/k/a MudGuard

                          1. @@MudGuard

                            Hi,

                            Da fehlte eine Zeile zum Kontext:

                            Zum Thema: Ich rechne bei Datümern in Sekunden.

                            JavaScript rechnet in Millisekunden.

                            zum Glück ist die Umrechnug nicht so kompliziert.

                            + '000' 😉

                            häh? dann bist du bei Mikrosekunden. Um auf Sekunden zu kommen musst du die Nullen entfernen:

                            Um von Jürgens Sekunden auf Javascriptens Millisekunden zu kommen, muß man '000' anhängen.

                            Aber der mit - '000' war trotzdem gut.

                            LLAP 🖖

                            -- “When UX doesn’t consider all users, shouldn’t it be known as ‘Some User Experience’ or... SUX? #a11y” —Billy Gregory
              2. Hi dedlfix,

                Du hast einen Apfel, eine Birne und eine Erdbeere. Dazu addierst du 1. Was ist das Ergebnis?

                Du kannst nicht einfach eine einheitenlose Zahl zu Dingen hinzufügen und hoffen, dass sich von einem von ihnen die Anzahl erhöht.

                Ich weiß, ich tu mich wirklich schwer damit, gerade in JS.

                Um den Tag zu ändern, gibt es die Methode setDate() des Date-Objekts. Dazu musst du aber erstmal den aktuellen Tag ermitteln, um damit deine Rechnung auszuführen.

                Aber mit dem aktuellen Tag habe ich (oder ich will ich doch gar nichts...haben) doch gar nichts am Hut? Ich möchte zu einem x-beliebigen Datum einen Tag hinzu addieren.

                Das schöne an setDate ist, dass du dich um den Überlauf nicht zu kümmern brauchst, das Date-Objekt kümmert sich selbständig darum, in den nächsten Monat zu wechseln.

                Und vergiss, dass es alert() gibt. console.log() ist das eindeutig bessere Debuggingwerkzeug. Das zwingt einen auch, die Konsole zu öffnen, um so eventuelle Fehlerausgaben sehen zu können.

                Ok.

                Pit

                Folgende Nachrichten verweisen auf diesen Beitrag:

                1. Tach!

                  Um den Tag zu ändern, gibt es die Methode setDate() des Date-Objekts. Dazu musst du aber erstmal den aktuellen Tag ermitteln, um damit deine Rechnung auszuführen.

                  Aber mit dem aktuellen Tag habe ich (oder ich will ich doch gar nichts...haben) doch gar nichts am Hut?

                  Ich meinte den Tag aus dem Datumsobjekt. Aktuell nicht im Sinne der jetzigen Zeit sondern bezogen auf dein Datumsobjekt, mit dem du aktuell arbeitest.

                  dedlfix.

                  1. Hi dedlfix,

                    Ich meinte den Tag aus dem Datumsobjekt. Aktuell nicht im Sinne der jetzigen Zeit sondern bezogen auf dein Datumsobjekt, mit dem du aktuell arbeitest.

                    Sorry, aber das kapiere ich einfach nicht.

                    Pit

                    1. Tach!

                      Ich meinte den Tag aus dem Datumsobjekt. Aktuell nicht im Sinne der jetzigen Zeit sondern bezogen auf dein Datumsobjekt, mit dem du aktuell arbeitest.

                      Sorry, aber das kapiere ich einfach nicht.

                      Du hast ein Datumsobjekt und in dem ist es der 5. Tag eines beliebigen Monats. Diese 5 ermittelst du, addierst deine 1 darauf und schreibst dann die 6 zurück ins Datumsobjekt.

                      dedlfix.

                      1. Hi dedlfix,

                        Du hast ein Datumsobjekt und in dem ist es der 5. Tag eines beliebigen Monats. Diese 5 ermittelst du, addierst deine 1 darauf und schreibst dann die 6 zurück ins Datumsobjekt.

                        Und am 28.02? Weiß das Objekt, dass danach der 1.3 kommt? Und muss ich dann auf den Monat auch 1 dazu adieren? Sollte ich doch vielleicht lieber moment.js installieren?

                        Pit

                        1. @@Pit

                          Und am 28.02? Weiß das Objekt, dass danach der 1.3 kommt?

                          Das sagte dedlfix doch bereits: „Das schöne an setDate ist, dass du dich um den Überlauf nicht zu kümmern brauchst, das Date-Objekt kümmert sich selbständig darum, in den nächsten Monat zu wechseln.“ (Hervorhebung von mir)

                          LLAP 🖖

                          -- “When UX doesn’t consider all users, shouldn’t it be known as ‘Some User Experience’ or... SUX? #a11y” —Billy Gregory
                          1. Das sagte dedlfix doch bereits: „Das schöne an setDate ist, dass du dich um den Überlauf nicht zu kümmern brauchst, das Date-Objekt kümmert sich selbständig darum, in den nächsten Monat zu wechseln.“ (Hervorhebung von mir)

                            Ich war mir nicht ganz sicher, ob dedlfix das damit meinte.

                            Pit

                            1. Hello,

                              hast Du dir das Date()-Objekt denn überhaupt schon mal angesehen?

                              getDate()

                              setDate()

                              Leider funktioniert es so auch nicht, wie ich erwarten würde.

                              <script> var mydate = new Date(2000, 2, 28); var myday = mydate.getDate(); mydate.setDate(myday + 1); alert(mydate.toLocaleString()); console.log(mydate); </script>

                              Aber vielleicht kann ja jetzt mal einer von den Wissenden die Fehler aufzeigen?

                              Liebe Grüße
                              Tom S.

                              -- Es gibt nichts Gutes, außer man tut es!
                              Das Leben selbst ist der Sinn.
                              1. @@TS

                                Leider funktioniert es so auch nicht, wie ich erwarten würde.

                                Mach doch mal console.log(mydate); gleich hinter var mydate = new Date(2000, 2, 28);

                                Da ist vermutlich schon nicht so, wie du erwarten würdest.

                                Horrender Schwachsinn

                                LLAP 🖖

                                -- “When UX doesn’t consider all users, shouldn’t it be known as ‘Some User Experience’ or... SUX? #a11y” —Billy Gregory
                                1. Hello,

                                  Leider funktioniert es so auch nicht, wie ich erwarten würde.

                                  Mach doch mal console.log(mydate); gleich hinter var mydate = new Date(2000, 2, 28);

                                  Da ist vermutlich schon nicht so, wie du erwarten würdest.

                                  Ja, stimmt. Da kommt

                                  Date 2000-03-27T22:00:00.000Z

                                  ? -> horrender Schwachsinn... OK?

                                  Aus dem MDN für Date() geht das für mich jedoch nicht hervor. Hab' ich wohl eine massive Leseschwäche ;-O

                                  Liebe Grüße
                                  Tom S.

                                  -- Es gibt nichts Gutes, außer man tut es!
                                  Das Leben selbst ist der Sinn.
                                  1. Hello,

                                    Ok, man muss wirklich alles durchlesen!

                                    Da steht hübsch versteckt:

                                    [...]wird der angrenzende Wert angepasst. Z. B. ist new Date(2013, 13, 1) äquivalent zu new Date(2014, 1, 1. Beide Ausdrücke erstellen das Datum 01.02.2014 **(Monate fangen bei 0 an)**. Das gleiche gilt für folgende Werte: new Date(2013, 2, 1, 0, 70) ist äquivalent zu new Date(2013, 2, 1, 1, 10)[...]

                                    (Einfettrung von mir.)

                                    So geht es dann jedenfalls:

                                    <script> var mydate = new Date(2000, 2-1, 28); console.log(mydate); var myday = mydate.getDate(); mydate.setDate(myday + 1); alert(mydate.toLocaleString()); alert(mydate.toString()); console.log(mydate); </script>

                                    Dann sollte die Signatur aber lauten:

                                    new Date(year, month-1[, day[, hour[, minutes[, seconds[, milliseconds]]]]]);

                                    ;-P

                                    Liebe Grüße
                                    Tom S.

                                    -- Es gibt nichts Gutes, außer man tut es!
                                    Das Leben selbst ist der Sinn.
                                    1. Tach!

                                      Ok, man muss wirklich alles durchlesen!

                                      Ja, aber nur weil man da mit Intuition erstmal auf die Nase fällt.

                                      Da steht hübsch versteckt:

                                      Aber so versteckt ist das nun auch wieder nicht, weil jeder Parameter einzeln erläutert wird, auch:

                                      month Ganze Zahl, die den Monat repräsentiert. Die Zahl beginnt bei 0 für Januar und endet bei 11 für Dezember.

                                      dedlfix.

                                      1. @@dedlfix

                                        Ok, man muss wirklich alles durchlesen!

                                        Ja, aber nur weil man da mit Intuition erstmal auf die Nase fällt.

                                        Ich würde es anders ausdrücken: Weil es der Intuition völlig widersprechend implementiert wurde.

                                        LLAP 🖖

                                        -- “When UX doesn’t consider all users, shouldn’t it be known as ‘Some User Experience’ or... SUX? #a11y” —Billy Gregory
                              2. Tach!

                                Leider funktioniert es so auch nicht, wie ich erwarten würde.

                                Was erwartest du denn und was bekommst du stattdessen?

                                Aber vielleicht kann ja jetzt mal einer von den Wissenden die Fehler aufzeigen?

                                Fehler sind ungewolltes Verhalten. Ich sehe, die Ausgaben bei mir zum Code passen. Dass Monatsnummern ungewöhnlich anzugeben sind, darauf hat Gunnar ja schon hingewiesen. Was aber wolltest du mit dem 28. des vermutlich Februar im Jahr 2000 sehen? Der 29. wäre jedenfalls richtig gewesen.

                                dedlfix.

  2. Hallo,

    ich möchte gerne in einer Schleife Tage zu einem Datum addieren. Ich mache aber etwas falsch. datenset.dayDiff ist bekannt und enthält einen Ingteger. datenset.von ist bekannt und enthält ein Datum im Format 27_10_2017

    Für solche Operationen gibt es Overload. D.h., man hat das Datum nicht als String sondern als Objekt bzw. Instanz einer Klasse welche den +Operator überlädt. Das Ergebnis einer Operation dateobj+10 (10 Tage addieren) ergibt dann ein neues Objekt und für dieses wiederum definiert die Klasse eine Methode womit das Datum lesbar dargestellt werden kann.

    MfG

    1. @@pl

      Für solche Operationen gibt es Overload. D.h., man hat das Datum nicht als String sondern als Objekt bzw. Instanz einer Klasse welche den +Operator überlädt.

      Und das macht man in JavaScript wie? Eben, nicht.

      LLAP 🖖

      -- “When UX doesn’t consider all users, shouldn’t it be known as ‘Some User Experience’ or... SUX? #a11y” —Billy Gregory
    2. Library eine einfache Klasse zum Rechnen mit dem Datum. Übern Feedback freute ich mich. MfG

      1. @@pl

        Library eine einfache Klasse zum Rechnen mit dem Datum.

        Für diesen Anwendungsfall nicht einfach genug. Overkill.

        LLAP 🖖

        -- “When UX doesn’t consider all users, shouldn’t it be known as ‘Some User Experience’ or... SUX? #a11y” —Billy Gregory
        1. Für diesen Anwendungsfall nicht einfach genug. Overkill.

          Ist Dir wohl zu kompliziert? Dann sind Algorithmen und Programmieren wohl nichts für Dich. Aber Du kannst ja gerne zeigen wie es einfacher geht. Hier noch eine Anwendung meiner Library. MfG

          1. Tach!

            Für diesen Anwendungsfall nicht einfach genug. Overkill.

            Ist Dir wohl zu kompliziert?

            Deutlich.

            Dann sind Algorithmen und Programmieren wohl nichts für Dich.

            Man muss nicht das Rad selbst erfinden, wenn man stattdessen einfach die vorhandenen Dinge nutzen kann.

            Aber Du kannst ja gerne zeigen wie es einfacher geht.

            Ganz ohne zusätzliche Bibliothek: Tagesnummer aus dem Datumsobjekt geben lassen, 1 addieren, Tag des Datumsobjekts setzen.

            dedlfix.

            1. ok,

              Ganz ohne zusätzliche Bibliothek: Tagesnummer aus dem Datumsobjekt geben lassen, 1 addieren, Tag des Datumsobjekts setzen.

              Zeig mir das bitte für ein beliebiges Datum im Jahr 1582, wie Du mit vorhandenen Bibliotheken Tage addierst und das neue Datum berechnest.

              MfG

              1. Tach!

                Ganz ohne zusätzliche Bibliothek: Tagesnummer aus dem Datumsobjekt geben lassen, 1 addieren, Tag des Datumsobjekts setzen.

                Zeig mir das bitte für ein beliebiges Datum im Jahr 1582, wie Du mit vorhandenen Bibliotheken Tage addierst und das neue Datum berechnest.

                Historische Daten von Anno Filzlatsch waren nicht Bestandteil der Aufgabenstellung. (Es gab übrigens auch in jüngeren Jahrhunderten Kalendersprünge.)

                dedlfix.

                1. Tach!

                  Ganz ohne zusätzliche Bibliothek: Tagesnummer aus dem Datumsobjekt geben lassen, 1 addieren, Tag des Datumsobjekts setzen.

                  Zeig mir das bitte für ein beliebiges Datum im Jahr 1582, wie Du mit vorhandenen Bibliotheken Tage addierst und das neue Datum berechnest.

                  Historische Daten von Anno Filzlatsch waren nicht Bestandteil der Aufgabenstellung.

                  Doch. Die Frage ist, wie man diese Berechnung Tage addieren mit einem beliebigen Datum macht.

                  MfG

                  1. Tach!

                    Historische Daten von Anno Filzlatsch waren nicht Bestandteil der Aufgabenstellung.

                    Doch. Die Frage ist, wie man diese Berechnung Tage addieren mit einem beliebigen Datum macht.

                    Das verbuche ich unter ungenauer Formulierung. Gemäß seiner früheren Fragen möchte er eine Terminverwaltung schreiben und hat mit diesen historischen Daten nichts am Hut.

                    dedlfix.

                    1. Ich frag mich was ihr für Programmierer seid. Natürlich kann man gucken, was es an vorhandenen Bibliotheken gibt, aber bitteschön auch darauf hinweisen, daß es da gewisse Grenzen gibt, eben eine bestimmte Epoche wenn es um das Rechnen mit dem Datum geht.

                      Ich frag mich was ihr für Programmierer seid, die sofort anfangen "Overkill" zu schreien, wenn da jemand eine Eigenentwicklung vorstellt. Aber das ist ja nur allzu typisch für dieses Forum hier. Wie schon EvD mal so treffend sagte: Ein Kritiker ist wie eine Henne die gackert wenn andere Hühner Eier legen. Nur mit Kritik hat das was ihr hier so veranstaltet nichts mehr zu tun. Das ist einfach nur Dumm.

                      Und es ist nicht das Erstemal daß ich Euch darauf hinweise. MfG

                      1. Hallo pl,

                        Ich frag mich was ihr für Programmierer seid. Natürlich kann man gucken, was es an vorhandenen Bibliotheken gibt, aber bitteschön auch darauf hinweisen, daß es da gewisse Grenzen gibt, eben eine bestimmte Epoche wenn es um das Rechnen mit dem Datum geht.

                        Ich glaube dir ja sofort, dass es für deine Bibliothek Anwendungsfälle gibt. Für den konkreten Fall ist sie jedoch überdimensioniert.

                        Ich frag mich was ihr für Programmierer seid, die sofort anfangen "Overkill" zu schreien, wenn da jemand eine Eigenentwicklung vorstellt.

                        Ich glaube dir ja sofort, dass es für deine Bibliothek Anwendungsfälle gibt. Für den konkreten Fall ist sie jedoch überdimensioniert.

                        Aber das ist ja nur allzu typisch für dieses Forum hier.

                        Typisch für dieses Forum ist, vieles zu hinterfragen.

                        Wie schon EvD mal so treffend sagte:

                        Erik van Däniken? Ernsthaft?

                        Nur mit Kritik hat das was ihr hier so veranstaltet nichts mehr zu tun. Das ist einfach nur Dumm.

                        Ich glaube dir ja sofort, dass es für deine Bibliothek Anwendungsfälle gibt. Für den konkreten Fall ist sie jedoch überdimensioniert.

                        Und es ist nicht das Erstemal daß ich Euch darauf hinweise.

                        Du kannst deine Meinung auch noch mehrfach mitteilen, nur stelle sie bitte nicht als die allumfassende Wahrheit dar, auf deren unbedingte Beachtung du irgendjemand hinweisen müsstest.

                        Bis demnächst
                        Matthias

                        -- Rosen sind rot.
                      2. Moin,

                        Ich frag mich was ihr für Programmierer seid.

                        Der Großteil wird wohl gewissenhaft für einen Arbeitgeber tätig und ein kleinerer Teil mindestens genauso gewissenhaft selbstständig sein. In beiden Fällen werden Wirtschaftlichkeit, Wartbarkeit und Fehleranfälligkeit die entscheidenden Faktoren sein.

                        Natürlich kann man gucken, was es an vorhandenen Bibliotheken gibt

                        Exakt. Alles andere ist Hobby.

                        aber bitteschön auch darauf hinweisen, daß es da gewisse Grenzen gibt.

                        Nein, das ist klares Selbstverständnis und kann man gewiss voraussetzen.

                        Sowohl in der Theorie:

                        als auch in der Praxis

                        Jeder Entwickler stößt sehr weit am Anfang seines Handelns auf eben diese Thematik.

                        Ein Kritiker ist wie eine Henne die gackert wenn andere Hühner Eier legen.

                        Also ich würde auch gackern wenn ich bemerkte, dass das Huhn mehr Eier legt, als es brüten kann.

                        Und es ist nicht das Erstemal daß ich Euch darauf hinweise.

                        Nein, leider.

                        Cheers, markk

        2. Hallo Gunnar,

          typischer Fall von gut gemeint vs gut gemacht.

          Leider muss man sagen: für den von pl angestrebten Anwendungsfall ist die Library nicht kompliziert genug. Um nahtlose Übergänge vom julianischen zum gregorianischen Kalender verarbeiten zu können, braucht man noch Daten zur Region - weil der Übergangstermin regional verschieden ist. Ich wollte zuerst „locale“ schreiben, hilft aber nicht, weil die damaligen Regionen und die heutigen Locales nicht zusammenpassen.

          Man kann auch nicht sagen: Es ist für Deutschland oder den deutschsprachigen Raum gedacht. Das HRR/DN hat den Kalender zwar im Wesentlichen papsttreu 1582 übernommen, die katholischen Teile der Schweiz auch, aber wer so richtig lutherisch war, hielt bis 1700 am alten Julius fest. Da haben sie vom 18. Februar auf den 1. März gewechselt, weil die Differenz zwischen Gregor und Julius wegen der Schaltjahrsregel in Jahrhunderten von 10 auf 11 Tage gestiegen wäre, und da hätten die Protestanten dann immer überlegen müssen: „aha, der Vertrag ist von April 1700, also 11 Tage Differenz zu Gregor, und dieser hier ist vom 12. Februar 1700, also 10 Tage Differenz“. Dann lieber den Kalender vom brrr Papst übernehmen...

          Von internationaleren Details wie dem Republikanischen Kalender der frz. Revolution, oder den eigenwilligeren Umstellterminen einiger Kantone der Schweiz mal ganz zu schweigen.

          Tut mir also leid, lieber Namensvetter - es hat gute Gründe warum viele Systeme keine Datümer vor 1700 akzeptieren. Das war eine Chaoszeit, bzw. ein Zeitchaos. Es ist also nicht so, dass wir eine Aversion gegen Algorithmen hätten. Aber man muss auch erkennen, wo und wie ein Algorithmus passt. Für den Anwendungsfall „westliche Welt der Moderne“ reicht Gregor.

          Rolf

          -- sumpsi - posui - clusi

          Folgende Nachrichten verweisen auf diesen Beitrag:

          1. Hello,

            kannst Du mir zu diesem Thema Quellen nennen? Das interessiert mich schon immer.
            Nicht zu vergessen sind die Chinesen und der Majakalender ;-)

            Liebe Grüße
            Tom S.

            -- Es gibt nichts Gutes, außer man tut es!
            Das Leben selbst ist der Sinn.
            1. Buchtipp: J.E.S. Thompson (Maya Hieroglyphic Writing, University Of Oklahoma Press, Norman 1960)

              Nach meinen Recherchen die einzig zuverlässige Quelle zu Datierungen nach den Maya Hieroglyphen. Ein wunderschönes Buch und Fachbuch erster Güte!

          2. Hallo Rolf,

            ich werde nicht müde, dieses fantastische Computerphile-Video zu verlinken 😀

            LG,
            CK

            -- https://wwwtech.de/about
            1. Hallo Christian Kruse,

              ich werde nicht müde, dieses fantastische Computerphile-Video zu verlinken 😀

              Wenn das wirklich stimmt, hätte ich das Video schon kennen müssen. Ich habe mich köstlich amüsiert.

              Bis demnächst
              Matthias

              -- Rosen sind rot.
              1. Hallo Matthias,

                ich werde nicht müde, dieses fantastische Computerphile-Video zu verlinken 😀

                Wenn das wirklich stimmt, hätte ich das Video schon kennen müssen.

                Ich habs hier im Forum schon mindestens zwei mal verlinkt 😉

                Ich habe mich köstlich amüsiert.

                Sehr gut, ich auch! 😀

                LG,
                CK

                -- https://wwwtech.de/about
                1. @@Christian Kruse

                  ich werde nicht müde, dieses fantastische Computerphile-Video zu verlinken 😀

                  Wenn das wirklich stimmt, hätte ich das Video schon kennen müssen.

                  Ich habs hier im Forum schon mindestens zwei mal verlinkt 😉

                  Lief auch übern Ticker (meinen und @SELFHTML)

                  Ich habe mich köstlich amüsiert.

                  Sehr gut, ich auch! 😀

                  Me too.

                  LLAP 🖖

                  -- “When UX doesn’t consider all users, shouldn’t it be known as ‘Some User Experience’ or... SUX? #a11y” —Billy Gregory
          3. Hi,

            Leider muss man sagen: für den von pl angestrebten Anwendungsfall ist die Library nicht kompliziert genug. Um nahtlose Übergänge vom julianischen zum gregorianischen Kalender verarbeiten zu können, braucht man noch Daten zur Region.

            Nein. Vielmehr muss man nur wissen, nach welchem Kalender und Epoche Datierungen gültig sind. In den USA ist es z.B. üblich, Datierungen als Oldstyle bzw. Newstyle zu bezeichnen je nachdem ob sie für den Julianischen oder Gregorianischen Kalender gelten. D.h. daß man namentlich in USA-Literatur auch für die Zeiten vor 1500 und auch für die BC-Epoche New-Style-Datierungen findet, obwohl der Gregorianische Kalender in dieser Epoche nach gar nicht gültig war.

            Wenn man nahtlos über die Gregorianische Reform rechnen will, also mit Julianischen Tagen die lückenlos aufeinanderfolgen, muss man lediglich diese beiden Kalender kennen und natürlich den Schalttag der Reform. Es ist also ganz einfach nur eine Festlegung, vor dem 4.10.1582 nach den Regeln des Julianischen Kalenders zu rechnen und so ergibt ich auch ein nahtloser Übergang.

            Datierungen umzurechnen in andere Kalender wie z.B. den der Maya macht man zweckmäßig über Julianische Tage. Und hier hast Du den Julianischen wie Gregorianischen Kalender nebeneinander, mit einem Klick direkt zur Greg. Reform.

            Tut mir also leid, lieber Namensvetter - es hat gute Gründe warum viele Systeme keine Datümer vor 1700 akzeptieren.

            Diese Aussage ist schlichtweg unsinnig. Der Astronomische Kalender stützt sich allein auf den Julianischen und Gregorianischen Kalender, o.g. Festlegung zur Berechnung fortlaufender Tage und ist international gültig. Er erweitert sogar die Epoche 1.1.4713 BC noch weiter in die Vergangenheit und definiert hierzu Julianische Tage mit einem negativen Vorzeichen.

            MfG

            1. Hallo

              Wenn man nahtlos über die Gregorianische Reform rechnen will, also mit Julianischen Tagen die lückenlos aufeinanderfolgen, muss man lediglich diese beiden Kalender kennen und natürlich den Schalttag der Reform. Es ist also ganz einfach nur eine Festlegung, vor dem 4.10.1582 nach den Regeln des Julianischen Kalenders zu rechnen und so ergibt ich auch ein nahtloser Übergang.

              Zuvörderst erzeugt diese Regel für viele (ehemalige und aktuell existierende) Staaten ungültige Datumsangaben. Das Datum 4.10.1582 als fixes Datum für den Wechel auf den Gregorianische Kalender anzusetzen, ist zu einfach gedacht.

              Tschö, Auge

              -- Wenn man ausreichende Vorsichtsmaßnahmen trifft, muss man keine Vorsichtsmaßnahmen mehr treffen.
              Toller Dampf voraus von Terry Pratchett
              1. Hello,

                Zuvörderst erzeugt diese Regel für viele (ehemalige und aktuell existierende) Staaten ungültige Datumsangaben. Das Datum 4.10.1582 als fixes Datum für den Wechel auf den Gregorianische Kalender anzusetzen, ist zu einfach gedacht.

                zumal ja laut Aufzeichnungen nur die Tageszählung, (auf den 04. Oktober folgte der 15. Oktober) nicht aber die Wochentagsreihenfolge (auf Donnerstag folgte trotzdem Freitag) geändert wurde.

                Jetzt weiß ich endlich, warum ich donnerstagsmorgens immer ausschlafen will ;-P

                Liebe Grüße
                Tom S.

                -- Es gibt nichts Gutes, außer man tut es!
                Das Leben selbst ist der Sinn.
                1. Hello,

                  Zuvörderst erzeugt diese Regel für viele (ehemalige und aktuell existierende) Staaten ungültige Datumsangaben. Das Datum 4.10.1582 als fixes Datum für den Wechel auf den Gregorianische Kalender anzusetzen, ist zu einfach gedacht.

                  zumal ja laut Aufzeichnungen nur die Tageszählung, (auf den 04. Oktober folgte der 15. Oktober) nicht aber die Wochentagsreihenfolge (auf Donnerstag folgte trotzdem Freitag) geändert wurde.

                  Auch das ist eine Festlegung bei der man sich was gedacht hat: Nämlich das Rechnen mit fortlaufenden Tagen. Einer der Berater Gregors war Joseph Justus Scaliger der ohnehin vorschlug, für einen Kalender der Zukunft nur noch die Tage zu zählen so wie das die Maya mit ihrem Kalender seit Jahrtausenden tun. So ergibt sich der Wochentag ganz einfach aus modulo sieben und das auch über den Schalttag der Reform hinweg ohne zusätzlichen Rechenaufwand. Ob der 1.1.4713 BC tatsächlich ein Montag war wird wohl heute kaum noch einer bezeugen können aber es ergibt sich eben zwangsläufig aus international getroffenen Festlegungen.

                  MfG

                  1. Hallo,

                    Ob der 1.1.4713 BC tatsächlich ein Montag war wird wohl heute kaum noch einer bezeugen können aber es ergibt sich eben zwangsläufig aus international getroffenen Festlegungen.

                    Jeder, der sich auch nur nebenher mit der Thematik beschäftigt, wird erkennen, dass schon diese Fragestellung Humbug ist.

                    Gruß
                    Kalk

                    1. Hallo,

                      Ob der 1.1.4713 BC tatsächlich ein Montag war wird wohl heute kaum noch einer bezeugen können aber es ergibt sich eben zwangsläufig aus international getroffenen Festlegungen.

                      Jeder, der sich auch nur nebenher mit der Thematik beschäftigt, wird erkennen, dass schon diese Fragestellung Humbug ist.

                      Welche Frage? Natürlich ergibt sich der 1.1.4713 BC als ein Montag wenn man aufgrund international getroffener Vereinbaungen zum Astronomischen Kalender den Julianischen Kalender annimmt und an diesem Tag die Zählung mit Tag=0 beginnt. MfG

                      1. Hallo,

                        internationale Vereinbarungen gabs vor 7ka nicht.

                        Welche Frage?

                        Die Frage nach dem Wochentag vor fast 7 ka. Und dann noch in einer heute gängigen Sprache.

                        Wahrscheinlich möchte man rauskriegen, ob der Tonkrug an einem Montag hergestellt wurde und deshalb vorzeitig zu Bruch ging…

                        Gruß
                        Kalk

              2. Hi,

                Das Datum 4.10.1582 als fixes Datum für den Wechel auf den Gregorianische Kalender anzusetzen, ist zu einfach gedacht.

                Es ist eine internationale, überregionale Festlegung. Eben um Berechnungen mit dem Datum zu vereinfachen und Datumsbarrieren überwinden zu können. Was natürlich nur möglich ist, wenn sich ein Kalender auf fortlaufende Tagesnummern stützt wie das z.B. auch beim Kalender der Maya der Fall ist. So hat man beim Umrechnen von Datierungen in verschiedene Kalender nur die Frage der Korrelation (Offset in Tagen) zu klären.

                MfG

                1. Hallo

                  Das Datum 4.10.1582 als fixes Datum für den Wechel auf den Gregorianische Kalender anzusetzen, ist zu einfach gedacht.

                  Es ist eine internationale, überregionale Festlegung.

                  Die nutzt mir aber nichts, wenn ich mit dem Datum eines Ereignisses im England des Jahres 1634 oder in Russland oder Rumänien des Jahres 1896 rechnen muss. Dort galt zur jeweiligen Zeit der gregorianische Kalender nicht. Der galt ja nicht einmal in allen deutschen Staaten einheitlich ab 1582. In vielen protestantischen Staaten Deutschlands wurde er erst im Jahre 1700 eingeführt.

                  Es genügt also keineswegs, nur die Abweichungen und das „offizielle“ Umstellungsdatum zu betrachten. Auch das Wo eines zu betrachtenden und zu berechnenden Datums/Ereignisses spielt eine Rolle.

                  Tschö, Auge

                  -- Wenn man ausreichende Vorsichtsmaßnahmen trifft, muss man keine Vorsichtsmaßnahmen mehr treffen.
                  Toller Dampf voraus von Terry Pratchett
                  1. Hallo

                    Das Datum 4.10.1582 als fixes Datum für den Wechel auf den Gregorianische Kalender anzusetzen, ist zu einfach gedacht.

                    Es ist eine internationale, überregionale Festlegung.

                    Die nutzt mir aber nichts, wenn ich mit dem Datum eines Ereignisses im England des Jahres 1634 oder in Russland oder Rumänien des Jahres 1896 rechnen muss. Dort galt zur jeweiligen Zeit der gregorianische Kalender nicht. Der galt ja nicht einmal in allen deutschen Staaten einheitlich ab 1582. In vielen protestantischen Staaten Deutschlands wurde er erst im Jahre 1700 eingeführt.

                    Umrechnungen über verschiedene Kalender setzen voraus, daß der jeweilige Kalender eine fortlaufende Tageszählung untersützt. Wenn das bei einem im England 1634 benutzten Kalender der Fall ist, kann man Datierungen umrechnen, da braucht man nur die Korrelationszahl.

                    Es genügt also keineswegs, nur die Abweichungen und das „offizielle“ Umstellungsdatum zu betrachten. Auch das Wo eines zu betrachtenden und zu berechnenden Datums/Ereignisses spielt eine Rolle.

                    Unter o.g. Feststellung ist nur noch die Korrelationszahl der Streitpunkt. So lassen sich, weil eben der Mayakalender ein Tageszähler ist, auch Datierungen vorchristlicher Zeiten umrechnen. Während die Datierungen also für alle Zeiten in Stein gehauen sind (was die Maya sehr zahlreich taten) streiten sich die Gelehrten nur noch über die Korrelation.

                    Bei diesem Streit spielen zahlreiche astronomische Beobachtungen der Maya eine wesentliche Rolle, die sie z.b. im Dresdner, Madrider oder Pariser Codex festhielten. Wesentlich ist aber auch, einen Astronomischen Kalender zu haben um in Fragen der Datierung globaler Ereignisse einen gemeinsamen Nenner zu haben. Und da sind wir wieder beim Julianischen und Gregorianischen Kalender und den damit getroffenen Vereinbarungen.

                    MfG

                    1. Hallo

                      Das Datum 4.10.1582 als fixes Datum für den Wechel auf den Gregorianische Kalender anzusetzen, ist zu einfach gedacht.

                      Es ist eine internationale, überregionale Festlegung.

                      Die nutzt mir aber nichts, wenn ich mit dem Datum eines Ereignisses im England des Jahres 1634 oder in Russland oder Rumänien des Jahres 1896 rechnen muss. Dort galt zur jeweiligen Zeit der gregorianische Kalender nicht. Der galt ja nicht einmal in allen deutschen Staaten einheitlich ab 1582. In vielen protestantischen Staaten Deutschlands wurde er erst im Jahre 1700 eingeführt.

                      Umrechnungen über verschiedene Kalender setzen voraus, daß der jeweilige Kalender eine fortlaufende Tageszählung untersützt. Wenn das bei einem im England 1634 benutzten Kalender der Fall ist, kann man Datierungen umrechnen, da braucht man nur die Korrelationszahl.

                      Ich weiß ja, dass du groß darin bist, an dich gerichtete Worte zu ignorieren und stattdessen mantraartig deine eigene Sicht auf unangesprochene Dinge zu propagieren. Es geht hier aber nicht darum, ob das Datum berechnet werden kann – das kann es wohl –, sondern darum, dass der Wert der Abweichung und das von dir genannte Datum der Umstellung für eine Berechnung keinesfalls ausreichen, weil die Umstellung nicht überall gleichzeitig stattfand.

                      Will ich also etwas zu einem Datum berechnen, an dem sich in England vor deren Umstellung auf den gregorianischen Kalender nach deren Geschichtsschreibung etwas ereignete, brauche ich mehr als nur die von dir genannten Daten, um das Ereignis zeitlich einzuordnen, selbst wenn das sich das Ereignis nach dem 15.10.1582 (des gregorianischen Kalenders) ereignete.

                      Um den Wikipedia-Artikel zum Gregorianischen Kalender (Abschnitt Verbreitung) zu paraphrasieren: Miguel de Cervantes und William Shakespeare haben den gleichen Sterbetag, obwohl William Shakespeare erst zehn Tage nach Miguel de Cervantes gestorben ist.

                      Wenn das dein Perl-Skript nicht berücksichtigt, ist es, um auf den Anfang dieser Diskussion zurückzukommen, nicht kompliziert genug, selbst wenn es für viele Zwecke ausreichen mag.

                      Tschö, Auge

                      -- Wenn man ausreichende Vorsichtsmaßnahmen trifft, muss man keine Vorsichtsmaßnahmen mehr treffen.
                      Toller Dampf voraus von Terry Pratchett
                      1. Na, ich hab Dir doch jetzt mehrfach erklärt, daß man, um mit Datierungen rechnen zu können, einige Festlegungen treffen muss.

                        Wenn das dein Perl-Skript nicht berücksichtigt, ist es, um auf den Anfang dieser Diskussion zurückzukommen, nicht kompliziert genug, selbst wenn es für viele Zwecke ausreichen mag.

                        Ok, Andere finden es zu kompliziert. Ich finde, meine Library hat nie einen anderen Anspruch erhoben als den, international getroffene Vereinbarungen bezüglich des Astronomischen Kalenders, also Rechnen mit fortlaufenden Tagen zu implementieren.

                        Und genau darum geht es hier: Tage addieren. Und selbstverstänlich machen wir das objekorientiert ohne eine Diskussion darüber vom Zaun zu brechen, wann in welchem Land die Gregorianische Kalender-Reform wirksam wurde.

                        Will ich also etwas zu einem Datum berechnen, an dem sich in England vor deren Umstellung auf den gregorianischen Kalender nach deren Geschichtsschreibung etwas ereignete, brauche ich mehr als nur die von dir genannten Daten,

                        Zweifellos. Und ich habe Dir ja auch geschrieben welche Angaben Du brauchst. MfG

                        1. Hallo pl,

                          der Fakt, dass man diese Angaben für eine Universal-Tagesrechnung braucht, ist unbestritten. Aber - wenn ich sie habe, wie gebe ich sie dann deiner Library bekannt, damit sie als einfachste Lösung einen frei wählbaren Akzeptanzzeitpunkt J/G unterstützt und damit ihrem Anspruch gerecht werden kann?

                          Der andere Fakt war: Für das Thema vom OP ist es nicht von Bedeutung, daher die Kritik als "zu kompliziert". Der OP möchte Tage der Gegenwart addieren, und dafür hat er mit setDate() einen Vorschlag basierend auf nativen JS Objekten bekommen.

                          Rolf

                          -- sumpsi - posui - clusi
                          1. Ja klar lieber Rolf,

                            wenn man einen Kalender hat, der sich nach dem Mond richtet und somit keine fortlaufenden Tage unterstüzt, kann man auch keine Tage auf ein Datum aufaddieren oder von einem Datum abziehen.

                            Der Schalttag ist fix und wenn man nahtlos über J/G rechnen will muss man einfach nur feststellen, ob entweder die Datierung oder der Julianische Tag vor oder nach dem Schalttag liegt und danach richtet es sich ob man entweder julianisch oder gregorianisch rechnet. Weiterhin gilt:

                            Datum => Tagesnummer / Epoche 4.10.1582 => 2299160 / J 15.10.1582 => 2299161 / G

                            womit Datumsangaben 5.10.1582-14.10.1582 ungültig sind. Das ist das ganze Geheimnis einer fortlaufenden Zählung. Mit dem Mayakalender ist das deutlich einfacher, wobei sich die Experten bis heute streiten ob es mehrere Mayakalender gibt aufgrund verschiedener Ergebnisse der Korrelationsberechnung wobei sich Differenzen von bis zu 2000 Jahren ergeben. Was aber sehr wahrscheinlich auch an einer fehlerhaften Zeitrechnung der Christlichen Welt liegen könnte -- da ist jede Datierung mit äußerster Vorsicht zu genießen, da hast Du schon recht mit dem Jahr 1700. Wenn Kolumbus lieber geguckt hätte, welches Datum die Maya bei seiner Ankunft in den Stein gemeißelt hätten, wäre heute vieles klarer.

                            Aber der Kalender der Maya wurde ja erst Mitte des 20. Jh entdeckt, daß die Hieroglyphen einen Kalender darstellen war bis dahin völlig unbekannt. Vielmehr hatten die Konquistatoren nichts Eiligeres zu tun, als das Volk der Maya samt seiner Kultur bestialisch auszurotten.

                            Freundschaft 😉

                            1. @@pl

                              wie gebe ich sie dann deiner Library bekannt, damit sie als einfachste Lösung einen frei wählbaren Akzeptanzzeitpunkt J/G unterstützt und damit ihrem Anspruch gerecht werden kann?

                              Der Schalttag ist fix

                              Das hätte als Antwort genügt.

                              In anderen Worten: gar nicht. Das kann deine Library nicht.

                              Der Rest deines Postings („nach dem Mond“, „Mayakalender“) ging haarscharf an der Frage vorbei. Mich wundert, ob du die Postings liest, auf die du antwortest.

                              Eigentlich sollte mich das nicht mehr wundern, da das eine gängige Marotte von dir ist …

                              LLAP 🖖

                              -- “When UX doesn’t consider all users, shouldn’t it be known as ‘Some User Experience’ or... SUX? #a11y” —Billy Gregory
                              1. @@pl

                                wie gebe ich sie dann deiner Library bekannt, damit sie als einfachste Lösung einen frei wählbaren Akzeptanzzeitpunkt J/G unterstützt und damit ihrem Anspruch gerecht werden kann?

                                Der Schalttag ist fix

                                Das hätte als Antwort genügt.

                                In anderen Worten: gar nicht. Das kann deine Library nicht.

                                Wozu auch!? Den Schalttag variabel zu machen ist unsinnig.

                                Der Rest deines Postings („nach dem Mond“, „Mayakalender“) ging haarscharf an der Frage vorbei. Mich wundert, ob du die Postings liest, auf die du antwortest.

                                Genau deswegen ja das Beispiel mit dem Mayakalender. Man braucht zum Rechnen mit dem Datum und zum Umrechnen von Datierung einen fixen Schalttag in der eigenen Kalenderrechnung. Und ob der andere Kalender Maya heißt ist völlig nebensächlich.

                                Eigentlich sollte mich das nicht mehr wundern, da das eine gängige Marotte von dir ist …

                                Mehr als ausführlich erklären kann ich auch nicht. Aber die Energie des Verstehens musst Du schon selbst entwickeln.

                                MfG

                                1. Hallo pl,

                                  Wozu auch!? Den Schalttag variabel zu machen ist unsinnig.

                                  Wenn man sich auf die katholische Welt beschränkt, und vermutlich noch die Mayas, ja, dann hast du recht.

                                  Rolf

                                  -- sumpsi - posui - clusi
                                  1. problematische Seite

                                    moin,

                                    Wozu auch!? Den Schalttag variabel zu machen ist unsinnig.

                                    Wenn man sich auf die katholische Welt beschränkt, und vermutlich noch die Mayas, ja, dann hast du recht.

                                    Meine Library enthält ja 2 Algorithmen, damit kannst Du jederzeit zwischen den beiden Kalendern, also dem Julianischen und dem Gregorianischen umrechnen. Und selbstverständlich kannst Du mit meiner Library auch Datierungen vorchristlicher Zeiten grogorianisch berechnen sowie Datierungen nach 1582 nach dem Julianischen Kalender.

                                    Dabei wirst Du evntl. selbst feststellen, daß eine Gregorianische Reform zwischen dem 1.3.200 und dem 28.2.300 gar nicht notwendig war, weil in diesem Zeitraum beide Kalender übereinstimmten. Und wenn Du mal selber nachrechnest, wirst Du auch feststellen, daß es den Julianischen Kalender im Jahr 4713 BC gar nicht gegeben haben kann, weil die Abweichung des kalendarischen Frühlingsanfang (Tag- und Nachtgleiche am 21.3.) zum tatsächlichen Ekliptikdurchgang mit fast 40 Tagen so groß war, daß es jedem Laien aufgefallen wäre.

                                    D.h., die Korrelation zwischen Julianischen und Gregorianischen Kalender ist nicht konstant sondern abhängig vom Datum und die ganze heutige Zeitrechnung samt astronomischen Kalender stützt sich auf Annahmen und auf einen proleptischen Kalender den der Papst gar nicht haben wollte (Scaliger).

                                    Und daß es zwischen dem Erdumlauf (Jahr) und der Drehzahl der Erde (Tag) keinen ganzzahligen Zusammenhang gibt, das wussten schon die Maya. Deswegen haben die mit ihrem Kalender ganz einfach nur die Tage gezählt.

                                    Schönen Tach noch 😉

                                    1. problematische Seite

                                      Hallo pl,

                                      Dass die letzten Evangelen den Katholen gerade deshalb um 1700 gefolgt sind, weil die Differenz da von 10 auf 11 zu wechseln drohte, erwähnte ich bereits.

                                      Das hat die Orthodoxen aber nicht beeindruckt, d.h. du hast recht, ein variables Akzeptanzdatum bedeutet auch eine variable Zahl von Sprungtagen. Also irgendwas von 10 bis 13, ab 1.3.2100 dann 14. Es sei denn, bis dahin haben auch die letzten Fragmente diverser Kirchen umgestellt oder zu existieren aufgehört...

                                      Vor 1582 gregorianisch zu rechnen ist nicht nötig. Die westliche Menschheit rechnete bis dahin einheitlich julianisch und in die anderen vor 1582 verwendeten Kalender dieser Welt rechnet man sowieso anders um.

                                      Wenn du übrigens Wert auf Genauigkeit legst, solltest du dir noch die Zeit von 708 a.u.c. bis 763 a.u.c. vornehmen, also seit Einführung des julianischen Kalenders bis zum Bugfix durch Augustus.

                                      Rolf

                                      -- sumpsi - posui - clusi
                                      1. problematische Seite

                                        hi Rolf,

                                        Wenn du übrigens Wert auf Genauigkeit legst, solltest du dir noch die Zeit von 708 a.u.c. bis 763 a.u.c. vornehmen, also seit Einführung des julianischen Kalenders bis zum Bugfix durch Augustus.

                                        Wie schon festgestellt, der astronomische Kalender stützt sich auf Annahmen und Vereinbarungen die geradezu idiotisch sind. Eine dieser Annahmen ist, daß die Zeitrechnung des Julianischen Kalenders eben niemals korrigiert wurde 😉

                                        MfG

                            2. Hi,

                              Aber der Kalender der Maya wurde ja erst Mitte des 20. Jh entdeckt, daß die Hieroglyphen einen Kalender darstellen war bis dahin völlig unbekannt. Vielmehr hatten die Konquistatoren nichts Eiligeres zu tun, als das Volk der Maya samt seiner Kultur bestialisch auszurotten.

                              Dass die Conquistadores Verbrecher waren, ist wohl unbestritten, aber die Mayas ausgerottet haben sie nicht1.

                              https://de.wikipedia.org/wiki/Maya#Gegenwart

                              https://de.wikipedia.org/wiki/Guatemala#Bev.C3.B6lkerung

                              Grüße vom Schnabeltier

                              1. Die Azteken und die Quechua (a.k.a. Inca) übrigens auch nicht.