Lukas.: php: Regulärer Ausdruck gesucht

0 80

php: Regulärer Ausdruck gesucht

Lukas.
  • regex
  1. 0

    Regulärer Ausdruck gesucht

    Auge
    • php
    • regex
    1. 0
      Gunnar Bittersmann
      • regex
      1. 1
        Auge
        1. 0
          Gunnar Bittersmann
          1. 0
            Auge
            1. 0
              Matthias Apsel
              1. 0
                Gunnar Bittersmann
            2. 0
              Gunnar Bittersmann
              1. 0
                Auge
                1. 0
                  Matthias Apsel
                  1. 0
                    Der Martin
                    1. 0
                      Gunnar Bittersmann
                  2. 0
                    Auge
                  3. 0
                    JürgenB
                    • menschelei
                    1. 0
                      woodfighter
                      1. 0
                        MudGuard
                        1. 0
                          woodfighter
                      2. 0
                        Matthias Apsel
                        1. 0
                          Der Martin
                          1. 0
                            Matthias Apsel
                          2. 0
                            woodfighter
                        2. 0
                          Auge
                          1. 0
                            Matthias Apsel
                          2. 0
                            woodfighter
                        3. 0
                          MudGuard
                          1. 0
                            Auge
                            1. 0
                              Der Martin
                              1. 0
                                Matthias Apsel
                                1. 0
                                  Der Martin
                                  1. 0
                                    Matthias Apsel
                                  2. 0
                                    MudGuard
                                2. 0
                                  Gunnar Bittersmann
                                  1. 0
                                    Matthias Apsel
                                    1. 0
                                      Der Martin
                                      1. 0
                                        Matthias Apsel
                                3. 0
                                  MudGuard
                              2. 0
                                Auge
                          2. 0
                            Matthias Apsel
              2. 0
                Rolf b
                1. 0
                  Gunnar Bittersmann
                  • zu diesem forum
                  1. 0
                    Matthias Apsel
                    1. 0
                      Gunnar Bittersmann
                      1. 0
                        Matthias Apsel
                        1. 0
                          Christian Kruse
                          1. 0
                            Auge
                            • menschelei
                            • zu diesem forum
                            1. 0
                              Matthias Apsel
                              1. 0
                                Gunnar Bittersmann
                                1. 0
                                  Matthias Apsel
                                2. 0
                                  Matthias Apsel
                              2. 0
                                Auge
                  2. 0
                    Christian Kruse
                    1. 0
                      Rolf b
            3. 1
              Jonny 5
              1. 0
                Gunnar Bittersmann
                1. 0
                  Jonny 5
                  1. 0
                    Gunnar Bittersmann
                    1. 0
                      Jonny 5
                      1. 0
                        Gunnar Bittersmann
                        1. 0
                          Jonny 5
                          1. 2
                            Gunnar Bittersmann
                            1. 0
                              Der Martin
                              1. 0
                                Gunnar Bittersmann
                                • sprache
                                1. 0
                                  Der Martin
                                  1. 0
                                    Gunnar Bittersmann
                                    1. 0
                                      Matthias Apsel
                                      1. 0
                                        Gunnar Bittersmann
                                    2. 0
                                      Der Martin
                                      1. 0
                                        Gunnar Bittersmann
                                        1. 0
                                          Gunnar Bittersmann
                                        2. 0
                                          Der Martin
                                  2. 0
                                    MudGuard
                                    1. 0
                                      Der Martin
                            2. 0
                              Jonny 5
                              1. 0
                                Tabellenkalk
  2. 0
    Lukas.
  3. 0
    Felix Riesterer
  4. 0
    dedlfix
    • php
    • regex
    1. 0
      Lukas.
      1. 0
        dedlfix

Hallo Forum,

  1. nich möchte prüfen, ob ein Datum in folgendem Format übermittelt wird

dd-mm-yyyy

  1. und zugleich nicht in der Zukunft (also maximal heute) ist.

  2. Ansonsten möchte ich das Datum auf heute festlegen.

  3. krieg ich hin, bei 1) und 2) schwimme ich.

Wie mache ich das am besten? (Also Punkt 1 und Punkt2)

Luk

  1. Hallo

    1. nich möchte prüfen, ob ein Datum in folgendem Format übermittelt wird

    dd-mm-yyyy

    Ein ungewöhnliches Format, aber sei's drum. Es werden also zwei Ziffern, ein Bindestrich, zwei Ziffern, ein weiterer Strich und schlussendlich vier Ziffern erwartet. Mit /\d{2}-\d{2}-\d{4}/ wird diese Auflistung abgebildet.

    1. und zugleich nicht in der Zukunft (also maximal heute) ist.

    Du zerlegst das vorgebliche Datum in seine Bestandteile, generierst mit den PHP-Datumsfunktionen einen gängigen™ Datumswert und prüfst diesen gegen das aktuelle Datum.

    Tschö, Auge

    --
    Wir hören immer wieder, dass Regierungscomputer gehackt wurden. Ich denke, man sollte die Sicherheit seiner Daten nicht Regierungen anvertrauen.
    Jan Koum, Mitgründer von WhatsApp, im Heise.de-Interview
    1. @@Auge

      dd-mm-yyyy

      Ein ungewöhnliches Format, aber sei's drum. Es werden also zwei Ziffern, ein Bindestrich, zwei Ziffern, ein weiterer Strich und schlussendlich vier Ziffern erwartet.

      Ich bin mir nicht sicher, ob 42-42-0815 erwartet wird. Das wäre wirklich ungewöhnlich.

      Mit /\d{2}-\d{2}-\d{4}/ wird diese Auflistung abgebildet.

      Ich bin mir auch nicht sicher, ob man 25-4-2016 wirklich abweisen sollte.

      Ich bin mir sicher, dass man einen regulären Ausdruck schreiben könnte, der gültige Datumsangaben erkennt – mit Berücksichtigung Monatslängen und auch der Schaltjahrregeln (für yyyy-mm-dd hatte ich das hier mal vorgeführt). Ich bin mir aber ebenso sicher, dass ein regulärer Ausdruck nicht das beste Werkzeug dafür ist.

      LLAP 🖖

      --
      “You might believe there are benefits for the developer, but first of all, you should put those behind the interest of the user.” —Stefan Tilkov
      Selfcode: sh:) fo:} ch:? rl:) br:> n4:& va:| de:> zu:} fl:{ ss:| ls:# js:|
      1. Hallo

        dd-mm-yyyy

        Ein ungewöhnliches Format, aber sei's drum. Es werden also zwei Ziffern, ein Bindestrich, zwei Ziffern, ein weiterer Strich und schlussendlich vier Ziffern erwartet.

        Ich bin mir nicht sicher, ob 42-42-0815 erwartet wird. Das wäre wirklich ungewöhnlich.

        Durchaus.

        Mit /\d{2}-\d{2}-\d{4}/ wird diese Auflistung abgebildet.

        Ich bin mir auch nicht sicher, ob man 25-4-2016 wirklich abweisen sollte.

        Wenn 25-04-2016 erwartet wird, ja. Laut den Aussagen des OP wird dieses Format erwartet.

        Ich bin mir sicher, dass man einen regulären Ausdruck schreiben könnte, der gültige Datumsangaben erkennt

        Ich würde das verneinen wollen. Wenn es aber, quasi als Vorprüfung, darum gehen soll, das Schema (zwei Ziffern, Strich, zwei Ziffern, Strich, vier Ziffern) zu prüfen, erfüllt der Regex seinen Zweck. Eine Prüfung auf ein gültiges Datum muss aber natürlich folgen, da sonst die im Thread vorgestellten Vergleiche scheitern.

        Tschö, Auge

        --
        Wir hören immer wieder, dass Regierungscomputer gehackt wurden. Ich denke, man sollte die Sicherheit seiner Daten nicht Regierungen anvertrauen.
        Jan Koum, Mitgründer von WhatsApp, im Heise.de-Interview
        1. @@Auge

          Ich bin mir sicher, dass man einen regulären Ausdruck schreiben könnte, der gültige Datumsangaben erkennt

          Ich würde das verneinen wollen.

          Wenn ich sage sicher, dann meine ich sicher.

          Wenn es einen regulären Ausdruck für gültige Datumsangaben im Format yyyy-mm-dd gibt, dann gibt es auch einen regulären Ausdruck für gültige Datumsangaben im Format dd-mm-yyyy.

          Diese Aussage kann man sicher auch beweisen, ohne auch nur einen der beiden regulären Ausdrücke zu kennen.

          LLAP 🖖

          --
          “You might believe there are benefits for the developer, but first of all, you should put those behind the interest of the user.” —Stefan Tilkov
          Selfcode: sh:) fo:} ch:? rl:) br:> n4:& va:| de:> zu:} fl:{ ss:| ls:# js:|
          1. Hallo

            Ich bin mir sicher, dass man einen regulären Ausdruck schreiben könnte, der gültige Datumsangaben erkennt

            Ich würde das verneinen wollen.

            Wenn ich sage sicher, dann meine ich sicher.

            Ich weiß zwar nicht, warum du das so betonst, aber bitteschön. Was immer du sagst.

            Wenn es einen regulären Ausdruck für gültige Datumsangaben im Format yyyy-mm-dd gibt, dann gibt es auch einen regulären Ausdruck für gültige Datumsangaben im Format dd-mm-yyyy.

            Ich bezweifle nicht, dass man den Ausdruck für yyyy-mm-dd so umformulieren kann, dass er dd-mm-yyyy genauso prüft, ich bezweifle, ohne es beweisen zu können, dass das bei den ganzen Sonderregeln für Schaltjahre, die nur alle X-hundert Jahre zutreffen, funktioniert.

            Tschö, Auge

            --
            Wir hören immer wieder, dass Regierungscomputer gehackt wurden. Ich denke, man sollte die Sicherheit seiner Daten nicht Regierungen anvertrauen.
            Jan Koum, Mitgründer von WhatsApp, im Heise.de-Interview
            1. Hallo Auge,

              Ich bezweifle nicht, dass man den Ausdruck für yyyy-mm-dd so umformulieren kann, dass er dd-mm-yyyy genauso prüft, ich bezweifle, ohne es beweisen zu können, dass das bei den ganzen Sonderregeln für Schaltjahre, die nur alle X-hundert Jahre zutreffen, funktioniert.

              https://forum.selfhtml.org/self/2006/mar/24/regular-expression-fuer-ein-datum/949960#m949960

              Bis demnächst
              Matthias

              --
              Wenn eine Idee nicht zuerst absurd erscheint, taugt sie nichts. (Albert Einstein)
              1. @@Matthias Apsel

                https://forum.selfhtml.org/self/2006/mar/24/regular-expression-fuer-ein-datum/949960#m949960

                20fucking06? Ist das wirklich schon 10 Jahre her?

                LLAP 🖖

                --
                “You might believe there are benefits for the developer, but first of all, you should put those behind the interest of the user.” —Stefan Tilkov
                Selfcode: sh:) fo:} ch:? rl:) br:> n4:& va:| de:> zu:} fl:{ ss:| ls:# js:|
            2. @@Auge

              ich bezweifle, ohne es beweisen zu können, dass das bei den ganzen Sonderregeln für Schaltjahre, die nur alle X-hundert Jahre zutreffen, funktioniert.

              Ich bezweifle, dass du beweisen könntest, dass es nicht funktioniert. Weil ich – wie gesagt – schon das Gegenteil gezeigt habe.[1]

              Du kannst gern im Archiv danach suchen. Tip: das dauert (k)eine "Ewigkeit".

              LLAP 🖖

              --
              “You might believe there are benefits for the developer, but first of all, you should put those behind the interest of the user.” —Stefan Tilkov
              Selfcode: sh:) fo:} ch:? rl:) br:> n4:& va:| de:> zu:} fl:{ ss:| ls:# js:|

              1. Kalenderumstellungen ausgenommen. Mein Ausdruck arbeitet mit dem gregorianischen Kalender – auch für Zeiten des julianischen und auch für Zeiten nach Umstellung auf Sternzeit. ↩︎

              1. Hallo

                ich bezweifle, ohne es beweisen zu können, dass das bei den ganzen Sonderregeln für Schaltjahre, die nur alle X-hundert Jahre zutreffen, funktioniert.

                Ich bezweifle, dass du beweisen könntest, dass es nicht funktioniert.

                Wieso wiederholst du, was ich schon schrieb? Wie ich schon schrieb: Nein, ich kann es nicht beweisen. Konnte ich gestern Abend nicht und, wie sich im folgenden zeigt, fürderhin erst recht nicht.

                Weil ich – wie gesagt – schon das Gegenteil gezeigt habe.

                Du kannst gern im Archiv danach suchen.

                Musste ich nicht, da Matthias den Thread schon zuvor herausgesucht hatte. Gestern Abend gegen elf war mir das Verfolgen der Threadäste, in denen sich der Regex „entwickelte“, bis zu deren Enden aber zu viel.

                Mir war nicht klar, dass sich die Regeln zum Thema Schaltjahr im gregorianische Kalender tatsächlich auf nur drei Regeln beschränken. Und ja, die habt ihr (du und seth)(ff) drin. Also ja, es funktioniert, meine Zweifel sind unbegründet.

                Ich hatte da noch im Hinterkopf, dass es Regeln gäbe, die nur alle X Jahrhunderte (aber eben nicht die 400-Regel) gebraucht würden. Aber das trifft ja nicht zu.

                Tschö, Auge

                --
                Wir hören immer wieder, dass Regierungscomputer gehackt wurden. Ich denke, man sollte die Sicherheit seiner Daten nicht Regierungen anvertrauen.
                Jan Koum, Mitgründer von WhatsApp, im Heise.de-Interview
                1. Hallo Auge,

                  Ich hatte da noch im Hinterkopf, dass es Regeln gäbe, die nur alle X Jahrhunderte (aber eben nicht die 400-Regel) gebraucht würden. Aber das trifft ja nicht zu.

                  Der Fehler im gregorianischen Kalender beträgt etwa $$1\ d/3000\ a$$. Ich gehe davon aus, dass der Umgang mit diesem Fehler nicht geregelt ist.

                  Bis demnächst
                  Matthias

                  --
                  Wenn eine Idee nicht zuerst absurd erscheint, taugt sie nichts. (Albert Einstein)
                  1. Hallo,

                    Ich hatte da noch im Hinterkopf, dass es Regeln gäbe, die nur alle X Jahrhunderte (aber eben nicht die 400-Regel) gebraucht würden. Aber das trifft ja nicht zu.

                    Der Fehler im gregorianischen Kalender beträgt etwa $$1\ d/3000\ a$$.

                    dazu hätte ich jetzt keinen Zahlenwert zur Hand gehabt, aber das hört sich plausibel an. Angesichts der Tatsache, dass regelmäßig sogar alle 400 Jahre eine Feinkorrektur stattfindet, indem der alle 100 Jahre ausfallende Schalttag dann eben doch stattfindet, hätte ich den Fehler sogar noch kleiner geschätzt.

                    Ich gehe davon aus, dass der Umgang mit diesem Fehler nicht geregelt ist.

                    Das vermute ich auch. Da werden unsere Nachfahren vielleicht in einigen hundert Jahren durch eine Einzelfallregelung wieder einen Schalttag entfallen lassen.

                    So long,
                     Martin

                    --
                    Bei der Umsetzung von guten Ideen hapert es meist viel mehr an der Wolle als an der Könne.
                    1. @@Der Martin

                      Der Fehler im gregorianischen Kalender beträgt etwa $$1\ d/3000\ a$$.

                      dazu hätte ich jetzt keinen Zahlenwert zur Hand gehabt, aber das hört sich plausibel an. Angesichts der Tatsache, dass regelmäßig sogar alle 400 Jahre eine Feinkorrektur stattfindet, indem der alle 100 Jahre ausfallende Schalttag dann eben doch stattfindet, hätte ich den Fehler sogar noch kleiner geschätzt.

                      Ohne die Jahrhundertregel wäre die mittlere Jahreslänge 365.25 Tage.
                      Volle Jahrhunderte keine Schaltjahre ergäbe 365.25 − 1/100 = 365.24.
                      Durch 400 teilbare volle Jahrhunderte doch Schaltjahre ergibt 365.24 + 1/400 = 365.2425.

                      Ein tropisches Jahr ist 365.24219052 Tage lang.
                      Der Fehler beträgt 0.00030948 Tage pro Jahr, das macht 1 Tag in 3231.2 Jahren.[1]

                      LLAP 🖖

                      --
                      “You might believe there are benefits for the developer, but first of all, you should put those behind the interest of the user.” —Stefan Tilkov
                      Selfcode: sh:) fo:} ch:? rl:) br:> n4:& va:| de:> zu:} fl:{ ss:| ls:# js:|

                      1. stillschweigend davon ausgegangen, dass sich die Tages- und Jahreslängen in drei Jahrtausenden nicht ändern ↩︎

                  2. Hallo

                    Ich hatte da noch im Hinterkopf, dass es Regeln gäbe, die nur alle X Jahrhunderte (aber eben nicht die 400-Regel) gebraucht würden. Aber das trifft ja nicht zu.

                    Der Fehler im gregorianischen Kalender beträgt etwa $$1\ d/3000\ a$$. Ich gehe davon aus, dass der Umgang mit diesem Fehler nicht geregelt ist.

                    Ja, im Wikipediaartikel ist vom Jahr 4813, in dem ein Tag entfernt werden müsste, die Rede. Die Formulierung „muss voraussichtlich um das Jahr 4813“ weist darauf hin, dass das nicht geregelt ist.

                    „So muss voraussichtlich um das Jahr 4813 (Jahr 1582 + 3231 Jahre) ein Schalttag ausfallen, um das Kalenderdatum 21. März wieder in der Nähe des Zeitpunkts des Primar-Äquinoktiums zu positionieren.“

                    Ist ja noch ein Weilchen hin.

                    Tschö, Auge

                    --
                    Wir hören immer wieder, dass Regierungscomputer gehackt wurden. Ich denke, man sollte die Sicherheit seiner Daten nicht Regierungen anvertrauen.
                    Jan Koum, Mitgründer von WhatsApp, im Heise.de-Interview
                  3. Hallo Matthias,

                    Der Fehler im gregorianischen Kalender beträgt etwa $$1\ d/3000\ a$$. Ich gehe davon aus, dass der Umgang mit diesem Fehler nicht geregelt ist.

                    wir steuern also sehenden Auges auf ein Y3K-Problem zu,

                    Gruß
                    Jürgen

                    1. Tach,

                      Der Fehler im gregorianischen Kalender beträgt etwa $$1\ d/3000\ a$$. Ich gehe davon aus, dass der Umgang mit diesem Fehler nicht geregelt ist.

                      wir steuern also sehenden Auges auf ein Y3K-Problem zu,

                      nö, der Fehler beginnt ja erst mit Einführung des Kalenders; wenn wir im Jahr 4000 (und Vielfachen) das Schaltjahr wieder ausfallen lassen, wären wir wieder etwas präziser; ich würde allerdings erwarten, dass sich bis dahin die Art der Zeitdarstellung ändern wird (sofern noch jemand da ist, der sie misst). Über noch mehr Präzision anchzudenken ist auch nicht hilfreich, da man schnell in den Bereich kommt, in dem wir den Obit der Erde nicht mehr präzise genug vorhersagen können (nicht dass wir das jetzt eigentlich können).

                      mfg
                      Woodfighter

                      1. Hi,

                        da man schnell in den Bereich kommt, in dem wir den Obit der Erde nicht mehr präzise genug vorhersagen können

                        Klasse Typo ... ;-)

                        cu,
                        Andreas a/k/a MudGuard

                        1. Tach,

                          da man schnell in den Bereich kommt, in dem wir den Obit der Erde nicht mehr präzise genug vorhersagen können

                          Klasse Typo ... ;-)

                          ich brauche wohl doch mal ein Addon, um die Sprache der Rechtschreibprüfung automatisiert umstellen zu lassen.

                          mfg
                          Woodfighter

                      2. Hallo woodfighter,

                        da man schnell in den Bereich kommt, in dem wir den Obit der Erde nicht mehr präzise genug vorhersagen können (nicht dass wir das jetzt eigentlich können).

                        Der Mond entfernt sich von der Erde. Da der Drehimpuls (des Gesamtsystems Erde-Mond) eine Erhaltungsgröße ist, der des Mondes durch die größere Entfernung zunimmt, muss der der Erde kleiner werden, was sich in einer langsameren Rotation und mithin in einer größeren Tageslänge widerspiegeln wird. Welchen Einfluss das nun auf die Schaltregel hat, möge der @Gunnar Bittersmann ermitteln.

                        (In iirr 1,4 Mio Jahren wird deshalb auch die Erde in Bezug auf den Mond gebunden rotieren. Ich hab das auch mal ausgerechnet)

                        Bis demnächst
                        Matthias

                        --
                        Wenn eine Idee nicht zuerst absurd erscheint, taugt sie nichts. (Albert Einstein)
                        1. Hi,

                          Der Mond entfernt sich von der Erde. Da der Drehimpuls (des Gesamtsystems Erde-Mond) eine Erhaltungsgröße ist, der des Mondes durch die größere Entfernung zunimmt, muss der der Erde kleiner werden, was sich in einer langsameren Rotation und mithin in einer größeren Tageslänge widerspiegeln wird.

                          ist das so? Von der Seite habe ich es noch gar nicht betrachtet. Ich dachte, die allmähliche Abnahme der Rotationsgeschwindigkeit bzw. die Zunahme der Tageslänge käme von Reibungsverlusten in der viskos mitrotierenden Atmosphäre und den Wassermassen. Das macht immerhin ein paar Millisekunden pro Jahr aus, IIRC.

                          Aber kurz- bis mittelfristig ist das eigentlich ein sehr angenehmer Trend. Großversuche mit unzähligen Freiwilligen haben schon vor etwa 20 Jahren gezeigt, dass der Biorhythmus der meisten Menschen sich auf eine Tageslänge von etwa 25..26 Stunden einstellt, wenn man ihm seinen Willen lässt. Die Probanden wurden dazu mehrere Wochen lang dem Einfluss von Tag und Nacht entzogen und hatten auch keine Uhren, waren also ausschließlich auf ihr eigenes Zeitgefühl angewiesen.

                          So long,
                           Martin

                          --
                          Bei der Umsetzung von guten Ideen hapert es meist viel mehr an der Wolle als an der Könne.
                          1. Hallo Der Martin,

                            Der Mond entfernt sich von der Erde. Da der Drehimpuls (des Gesamtsystems Erde-Mond) eine Erhaltungsgröße ist, der des Mondes durch die größere Entfernung zunimmt, muss der der Erde kleiner werden, was sich in einer langsameren Rotation und mithin in einer größeren Tageslänge widerspiegeln wird.

                            ist das so? Von der Seite habe ich es noch gar nicht betrachtet. Ich dachte, die allmähliche Abnahme der Rotationsgeschwindigkeit bzw. die Zunahme der Tageslänge käme von Reibungsverlusten in der viskos mitrotierenden Atmosphäre und den Wassermassen. Das macht immerhin ein paar Millisekunden pro Jahr aus, IIRC.

                            Ich zitiere mich selbst und korrigiere die Zahl 1,4 Mio um den Faktor 1000.

                            … Die Küsten laufen den Flutbergen entgegen, durch diese Reibung wird die Rotation der Erde gebremst. In hundert Jahren ist ein Tag eine Tausendstel Sekunde länger als heute. Das Bremsen der Erde ist Ursache dafür, dass der Mond sich von der Erde entfernt. In 1,4 Mrd Jahren wird er 1,44 mal soweit von der Erde entfernt sein wie heute. Dann wird auch die Erde eine gebundene Rotation durchführen und dem Mond immer dieselbe Seite zuwenden. Dann gibt es keine Gezeiten mehr, sondern einen „Wasserberg“ auf der mondzugewandten und mondabgewandten Seite und ein „Wassertal“ dazwischen. Ein Tag dauert dann ca. 47 heutige Tage.

                            Aber kurz- bis mittelfristig ist das eigentlich ein sehr angenehmer Trend. Großversuche mit unzähligen Freiwilligen haben schon vor etwa 20 Jahren gezeigt, dass der Biorhythmus der meisten Menschen sich auf eine Tageslänge von etwa 25..26 Stunden einstellt,

                            Ja. Interessanterweise der Abstand zweier aufeinanderfolgender Mondaufgänge.

                            Bis demnächst
                            Matthias

                            --
                            Wenn eine Idee nicht zuerst absurd erscheint, taugt sie nichts. (Albert Einstein)
                          2. Tach,

                            Aber kurz- bis mittelfristig ist das eigentlich ein sehr angenehmer Trend. Großversuche mit unzähligen Freiwilligen haben schon vor etwa 20 Jahren gezeigt, dass der Biorhythmus der meisten Menschen sich auf eine Tageslänge von etwa 25..26 Stunden einstellt, wenn man ihm seinen Willen lässt.

                            „First, as others have noted, the persistent idea that our intrinsic circadian period (i.e., the period we express in the absence of any time cues) is 25 hours is incorrect. This was shown to be incorrect about 20 years ago, yet maddeningly still appears in places like undergraduate psychology textbooks.“ - https://www.reddit.com/r/askscience/comments/2l8g5k/why_are_our_circadian_rhythms_longer_than_24_hours/

                            „The average human circadian period is about 24.15 hours, but differs slightly between individuals.“ - ebenda

                            mfg
                            Woodfighter

                        2. Hallo

                          Der Mond entfernt sich von der Erde. Da der Drehimpuls (des Gesamtsystems Erde-Mond) eine Erhaltungsgröße ist, der des Mondes durch die größere Entfernung zunimmt, muss der der Erde kleiner werden, was sich in einer langsameren Rotation und mithin in einer größeren Tageslänge widerspiegeln wird. Welchen Einfluss das nun auf die Schaltregel hat, möge der @Gunnar Bittersmann ermitteln.

                          Die Tageslänge wird sich dadurch verlängern, die Jahreslänge (Umlauf der Erde um die Sonne) nicht. Aber …

                          (In iirr 1,4 Mio Jahren wird deshalb auch die Erde in Bezug auf den Mond gebunden rotieren. Ich hab das auch mal ausgerechnet)

                          … 1.4 Mio. Jahre halte ich für die doppelt gebundene Rotation [1] des Erde-Mond-Systems für entschieden zu kurz. Die Dinosaurier sollen einen 20-Stunden-Tag gehabt haben und das war von 300 bis 65 Mio. Jahren.

                          Tschö, Auge

                          --
                          Wir hören immer wieder, dass Regierungscomputer gehackt wurden. Ich denke, man sollte die Sicherheit seiner Daten nicht Regierungen anvertrauen.
                          Jan Koum, Mitgründer von WhatsApp, im Heise.de-Interview

                          1. Das Pluto-Charon-System hat übrigens eine doppelt gebundene Rotation. ↩︎

                          1. Hallo Auge,

                            Die Tageslänge wird sich dadurch verlängern, die Jahreslänge (Umlauf der Erde um die Sonne) nicht.

                            Ja, also verändert sich das Verhältnis $$Tag/Jahr$$.

                            (In iirr 1,4 Mio Jahren wird deshalb auch die Erde in Bezug auf den Mond gebunden rotieren. Ich hab das auch mal ausgerechnet)

                            … 1.4 Mio. Jahre halte ich für die doppelt gebundene Rotation des Erde-Mond-Systems für entschieden zu kurz.

                            Stimmt. Faktor 1000.

                            [^1]: Das Pluto-Charon-System hat übrigens eine doppelt gebundene Rotation.

                            Stimmt auch.

                            Bis demnächst
                            Matthias

                            --
                            Wenn eine Idee nicht zuerst absurd erscheint, taugt sie nichts. (Albert Einstein)
                          2. Tach,

                            Die Tageslänge wird sich dadurch verlängern, die Jahreslänge (Umlauf der Erde um die Sonne) nicht.

                            die Jahreslänge ändert sich allerdings auch durch die selben Effekte (Gezeiten und gravitationelle Abstrahlung (letztere sind im Erde-Sonne-System immerhin 200 Watt)) und dann könnte man noch betrachten, wieviel zusätzlichen Impuls die Erde durch Sonnenwind und auftreffende Photonen erhält (Beschleunigung in diese Richtung ist zwar enorm ineffizient, aber über ein paar Millionen Jahre…)

                            mfg
                            Woodfighter

                        3. Hi,

                          Der Mond entfernt sich von der Erde.

                          Dazu kommen die bereits erwähnten Reibungsverluste sowie die durch Meteoriten zunehmende Masse, die ja auch erst in Rotation versetzt werden muß.

                          cu,
                          Andreas a/k/a MudGuard

                          1. Hallo

                            Der Mond entfernt sich von der Erde.

                            Dazu kommen die bereits erwähnten Reibungsverluste sowie die durch Meteoriten zunehmende Masse, die ja auch erst in Rotation versetzt werden muß.

                            Die aber – zumindest für die Erde – bitteschön gegen den Gasverlust der Atmosphäre gegengerechnet werden will. Laut dem verlinkten Blogeintrag eines Astronomen ergibt sich eine Negativbilanz. Das wirkt sich auf die Gravitaion und auch auf die Anzeige von Waagen aus. Wir werden also leichter, selbst wenn sich unsere Masse nicht verändert. Jucheissa!

                            Tschö, Auge

                            --
                            Wir hören immer wieder, dass Regierungscomputer gehackt wurden. Ich denke, man sollte die Sicherheit seiner Daten nicht Regierungen anvertrauen.
                            Jan Koum, Mitgründer von WhatsApp, im Heise.de-Interview
                            1. Hi,

                              Wir werden also leichter, selbst wenn sich unsere Masse nicht verändert. Jucheissa!

                              zu früh gefreut, denn unsere Masse verändert sich permanent. Nicht nur durch Essen und ... dingens, äh, Ausscheiden, sondern auch schon durch Atmen und Schwitzen. In welche Richtung die Gesamtbilanz tendiert, haben wir bis zu einem gewissen Grad selbst in der Hand.

                              So long,
                               Martin

                              --
                              Bei der Umsetzung von guten Ideen hapert es meist viel mehr an der Wolle als an der Könne.
                              1. Hallo Der Martin,

                                zu früh gefreut, denn unsere Masse verändert sich permanent. Nicht nur durch Essen und ... dingens, äh, Ausscheiden, sondern auch schon durch Atmen und Schwitzen. In welche Richtung die Gesamtbilanz tendiert, haben wir bis zu einem gewissen Grad selbst in der Hand.

                                Eigentlich nicht, denn es gilt das Gesetz der Erhaltung der Masse. Auch die Raumfahrt sorgt nur für eine Verkleinerung der Masse durch Sonden, die den Anziehungsbereich der Erde verlassen.

                                Bis demnächst
                                Matthias

                                --
                                Wenn eine Idee nicht zuerst absurd erscheint, taugt sie nichts. (Albert Einstein)
                                1. Hi,

                                  zu früh gefreut, denn unsere Masse verändert sich permanent. Nicht nur durch Essen und ... dingens, äh, Ausscheiden, sondern auch schon durch Atmen und Schwitzen. In welche Richtung die Gesamtbilanz tendiert, haben wir bis zu einem gewissen Grad selbst in der Hand.

                                  Eigentlich nicht, denn es gilt das Gesetz der Erhaltung der Masse.

                                  natürlich, solange man geschlossene Systeme betrachtet. Aber jedesmal, wenn ich auf dem Topf war, bin ich erleichtert, dass ein geringer Masseanteil nun das System "Martin" verlassen hat und diesem nicht mehr zugerechnet werden kann/muss. Und jedesmal nach dem Essen gilt Entsprechendes mit umgekehrtem Vorzeichen.
                                  Die Masse verschwindet also nicht oder taucht einfach aus dem Nichts auf, insofern hast du natürlich recht. Aber sie gehört mal zu diesem, mal zu jenem Ökosystem. Genauso wie mit Geld, das man ausgegeben hat: Das ist ja dann nicht weg, es gehört nur jemand anderem.

                                  Auch die Raumfahrt sorgt nur für eine Verkleinerung der Masse durch Sonden, die den Anziehungsbereich der Erde verlassen.

                                  Äh, ja. Natürlich. Wobei dieses Verlassen kein scharf abgrenzbarer Vorgang ist.

                                  Ciao,
                                   Martin

                                  --
                                  Bei der Umsetzung von guten Ideen hapert es meist viel mehr an der Wolle als an der Könne.
                                  1. Hallo Der Martin,

                                    Eigentlich nicht, denn es gilt das Gesetz der Erhaltung der Masse.

                                    natürlich, solange man geschlossene Systeme betrachtet. Aber jedesmal, wenn ich auf dem Topf war, bin ich erleichtert, dass ein geringer Masseanteil nun das System "Martin" verlassen hat

                                    Aber eben nicht das System „Erde“ ;-)

                                    Bis demnächst
                                    Matthias

                                    --
                                    Wenn eine Idee nicht zuerst absurd erscheint, taugt sie nichts. (Albert Einstein)
                                  2. Hi,

                                    natürlich, solange man geschlossene Systeme betrachtet. Aber jedesmal, wenn ich auf dem Topf war, bin ich erleichtert,

                                    wirklich?

                                    Da durch den Abwurf die Masse der Erde unter Dir zunimmt, bewirkt der Abwurf auch stärkere Gravitation ... ;-)

                                    cu,
                                    Andreas a/k/a MudGuard

                                2. @@Matthias Apsel

                                  Eigentlich nicht, denn es gilt das Gesetz der Erhaltung der Masse.

                                  Eine Lüge für Kinder, die durch das Masse-Energie-Äquivalent ad absurdum geführt wird.

                                  Auch die Raumfahrt sorgt nur für eine Verkleinerung der Masse durch Sonden, die den Anziehungsbereich der Erde verlassen.

                                  Du vergisst den Massezuwachs durch UFOs, die zu uns gekommen sind.

                                  LLAP 🖖

                                  --
                                  “You might believe there are benefits for the developer, but first of all, you should put those behind the interest of the user.” —Stefan Tilkov
                                  Selfcode: sh:) fo:} ch:? rl:) br:> n4:& va:| de:> zu:} fl:{ ss:| ls:# js:|
                                  1. Hallo Gunnar Bittersmann,

                                    Eine Lüge für Kinder, die durch das Masse-Energie-Äquivalent ad absurdum geführt wird.

                                    Ja, wenn wir Masse in Energie umwandeln, ändert sich die Masse der Erde, also durch Kernspaltung wird die Erde schwerer.

                                    Bis demnächst
                                    Matthias

                                    --
                                    Wenn eine Idee nicht zuerst absurd erscheint, taugt sie nichts. (Albert Einstein)
                                    1. Hi,

                                      Ja, wenn wir Masse in Energie umwandeln, ändert sich die Masse der Erde, also durch Kernspaltung wird die Erde schwerer.

                                      schwerer? Nach meinem Verständnis leichter, weil doch ein Teil der Masse in Energie umgewandelt wird und sich somit nicht mehr in Form von Masse manifestiert.

                                      So long,
                                       Martin

                                      --
                                      Bei der Umsetzung von guten Ideen hapert es meist viel mehr an der Wolle als an der Könne.
                                      1. Hallo Der Martin,

                                        Ja, wenn wir Masse in Energie umwandeln, ändert sich die Masse der Erde, also durch Kernspaltung wird die Erde schwerer.

                                        schwerer? Nach meinem Verständnis leichter, weil doch ein Teil der Masse in Energie umgewandelt wird und sich somit nicht mehr in Form von Masse manifestiert.

                                        Diese Energie ist die frei werdende Kernbindungsenegie.

                                        Bis demnächst
                                        Matthias

                                        --
                                        Wenn eine Idee nicht zuerst absurd erscheint, taugt sie nichts. (Albert Einstein)
                                3. Hi,

                                  Eigentlich nicht, denn es gilt das Gesetz der Erhaltung der Masse. Auch die Raumfahrt sorgt nur für eine Verkleinerung der Masse

                                  ne, auch für Vergrößerung - es wurde z.B. Gestein vom Mond auf die Erde gebracht.

                                  cu,
                                  Andreas a/k/a MudGuard

                              2. Hallo

                                Wir werden also leichter, selbst wenn sich unsere Masse nicht verändert. Jucheissa!

                                zu früh gefreut, denn unsere Masse verändert sich permanent. Nicht nur durch Essen und ... dingens, äh, Ausscheiden, sondern auch schon durch Atmen und Schwitzen. In welche Richtung die Gesamtbilanz tendiert, haben wir bis zu einem gewissen Grad selbst in der Hand.

                                Jetzt muss ich mal den Empörten und Unverstandenen heraushängen lassen! ;-)

                                Aaab jetzt:

                                Herrje, ich hab' doch nun extra dazugeschrieben, dass sich die Masse (also die Körpermasse) nicht ändert. Nicht durch Nahrungsaufnahme, die ja nicht nur aus essen besteht, nicht durch die Ausscheidung derer Endprodukte und gleich garnicht durch schwitzen und atmen. Es geht hier nur und ausschließlich um die scheinbare Chance, das Gewicht auf der Waage zu pimpen.

                                Nu nicht mehr.

                                Ob das Ein- und Ausatmen oder das Schwitzen als eines der Gegenstücke zur Flüssigkeitsaufnahme eine statistisch relevante Masseänderung herbeiführt, wage ich zu bezweifeln. Ausnahmesituationen wie z.B. Wassermangel und deshalb ausbleibendes Trinken nehme ich hiervon einmal aus.

                                Tschö, Auge

                                --
                                Wir hören immer wieder, dass Regierungscomputer gehackt wurden. Ich denke, man sollte die Sicherheit seiner Daten nicht Regierungen anvertrauen.
                                Jan Koum, Mitgründer von WhatsApp, im Heise.de-Interview
                          2. Hallo MudGuard,

                            Dazu kommen […] die durch Meteoriten zunehmende Masse, die ja auch erst in Rotation versetzt werden muß.

                            Das kann je nach Auftreffwinkel und -ort auch ein Abbremsen bedeuten ;-)

                            Bis demnächst
                            Matthias

                            --
                            Wenn eine Idee nicht zuerst absurd erscheint, taugt sie nichts. (Albert Einstein)
              2. Hallo Gunnar,

                ich finde dein Produkt von 2006 ziemlich beeindruckend - vor allem weil ich es überhaupt nicht kapiere (im Gegensatz zu dem dd.mm.yyyy Konstrukt von diesem Jahr). Insbesondere weiß ich nicht, was diese non-capturing groups mit dem inneren oder darstellen sollen: (?:|). Damit matcht man nach meinem Verständnis "nichts oder nichts". Ist bei der Archivierung des Beitrags etwas verloren gegangen oder hat das tatsächlich einen Sinn?

                Gruß Rolf

                1. @@Rolf b

                  Ist bei der Archivierung des Beitrags etwas verloren gegangen

                  Ja, ist es.

                  oder hat das tatsächlich einen Sinn?

                  Das hatte mal tatsächlich einen Sinn, der jetzt entstellt ist.

                  Ich wollte das letztens schon melden, warte aber noch auf Antwort, wie und wo. @Christian Kruse?

                  LLAP 🖖

                  --
                  “You might believe there are benefits for the developer, but first of all, you should put those behind the interest of the user.” —Stefan Tilkov
                  Selfcode: sh:) fo:} ch:? rl:) br:> n4:& va:| de:> zu:} fl:{ ss:| ls:# js:|
                  1. Hallo Gunnar Bittersmann,

                    Das hatte mal tatsächlich einen Sinn, der jetzt entstellt ist.

                    Ich hab das mal konvertiert.

                    Ich wollte das letztens schon melden, warte aber noch auf Antwort, wie und wo. @Christian Kruse?

                    Wie schon auf Twitter gesagt: Wenn du meinst, dass es sich durch Programmierlogik wiederherstellen lässt, dann per Issue.

                    Edit: Die Folgebeiträge lasse ich erstmal, damit Christian sehen kann, was er programmiertechnisch anfassen muss.

                    Bis demnächst
                    Matthias

                    --
                    Wenn eine Idee nicht zuerst absurd erscheint, taugt sie nichts. (Albert Einstein)
                    1. @@Matthias Apsel

                      Das hatte mal tatsächlich einen Sinn, der jetzt entstellt ist.

                      Ich hab das mal konvertiert.

                      Danke. Da hätte ich noch einen.

                      Und sicher noch weitere. Deshalb meine Frage (auch an @Christian Kruse, wo ich die am besten melde.

                      Meine Befugnisse als Moderator erlauben es nicht, im Archiv rumzupfuschen; dazu muss man wohl Admin sein?

                      LLAP 🖖

                      --
                      “You might believe there are benefits for the developer, but first of all, you should put those behind the interest of the user.” —Stefan Tilkov
                      Selfcode: sh:) fo:} ch:? rl:) br:> n4:& va:| de:> zu:} fl:{ ss:| ls:# js:|
                      1. Hallo Gunnar Bittersmann,

                        Ich hab das mal konvertiert.

                        Danke. Da hätte ich noch einen.

                        Und sicher noch weitere. Deshalb meine Frage (auch an @Christian Kruse, wo ich die am besten melde.

                        Ich habe die Hoffnung, das Christian das hinkriegt, deshalb warte ich erst mal mit dem Ändern, damit Christian eine Vergleichsmöglichkeit hat.

                        Meine Befugnisse als Moderator erlauben es nicht, im Archiv rumzupfuschen; dazu muss man wohl Admin sein?

                        Ja. Es könnte sein, dass du ab 5000 Punkten darfst, aber das ist noch ein kleiner Weg.

                        Bis demnächst
                        Matthias

                        --
                        Wenn eine Idee nicht zuerst absurd erscheint, taugt sie nichts. (Albert Einstein)
                        1. Hallo Matthias,

                          Ich habe die Hoffnung, das Christian das hinkriegt, deshalb warte ich erst mal mit dem Ändern, damit Christian eine Vergleichsmöglichkeit hat.

                          Der Parser müsste man komplett neu geschrieben werden. Der Ansatz, wie ich das zur Zeit mache, hat sich als ungünstig erwiesen, weil schwierig zu warten und Fehleranfällig.

                          Ich hab nur zur Zeit so wenig Zeit…

                          Ja. Es könnte sein, dass du ab 5000 Punkten darfst, aber das ist noch ein kleiner Weg.

                          Archiv dürfen nur Admins editieren.

                          LG,
                          CK

                          1. Hallo

                            Ja. Es könnte sein, dass du ab 5000 Punkten darfst, aber das ist noch ein kleiner Weg.

                            Archiv dürfen nur Admins editieren.

                            Warum sollte Gunnar mit 5000 Punkten als Benutzer mit Zugriff auf die Moderationstools auch mehr dürfen, als als Moderator, der er jetzt schon ist? Aus diesem Blickwinkel gesehen ergibt die Aussage von @Matthias Apsel von vornherein keinen Sinn.

                            Tschö, Auge

                            --
                            Wir hören immer wieder, dass Regierungscomputer gehackt wurden. Ich denke, man sollte die Sicherheit seiner Daten nicht Regierungen anvertrauen.
                            Jan Koum, Mitgründer von WhatsApp, im Heise.de-Interview
                            1. Hallo Auge,

                              Warum sollte Gunnar mit 5000 Punkten als Benutzer mit Zugriff auf die Moderationstools auch mehr dürfen, als als Moderator, der er jetzt schon ist? Aus diesem Blickwinkel gesehen ergibt die Aussage von @Matthias Apsel von vornherein keinen Sinn.

                              Ich hatte nicht auf dem Schirm, dass er Moderator ist.

                              Bis demnächst
                              Matthias

                              --
                              Wenn eine Idee nicht zuerst absurd erscheint, taugt sie nichts. (Albert Einstein)
                              1. @@Matthias Apsel

                                Ich hatte nicht auf dem Schirm, dass er Moderator ist.

                                Hätte ich erwähnen sollen … Oh, wait! „Meine Befugnisse als Moderator …“ ;-)

                                Könnte jemand dieses Posting zeitnah fixen? Ich würde gern darauf verweisen. Danke.

                                LLAP 🖖

                                --
                                “You might believe there are benefits for the developer, but first of all, you should put those behind the interest of the user.” —Stefan Tilkov
                                Selfcode: sh:) fo:} ch:? rl:) br:> n4:& va:| de:> zu:} fl:{ ss:| ls:# js:|
                                1. Hallo Gunnar Bittersmann,

                                  Ich hatte nicht auf dem Schirm, dass er Moderator ist.

                                  Hätte ich erwähnen sollen … Oh, wait! „Meine Befugnisse als Moderator …“ ;-)

                                  Ich hätte schreiben sollen, ich hatte nicht auf dem Schirm, dass er wirklich Moderator ist. ;-)

                                  Bis demnächst
                                  Matthias

                                  --
                                  Wenn eine Idee nicht zuerst absurd erscheint, taugt sie nichts. (Albert Einstein)
                                2. Hallo Gunnar Bittersmann,

                                  Könnte jemand dieses Posting zeitnah fixen?

                                  done.

                                  Bis demnächst
                                  Matthias

                                  --
                                  Wenn eine Idee nicht zuerst absurd erscheint, taugt sie nichts. (Albert Einstein)
                              2. Hallo

                                Warum sollte Gunnar mit 5000 Punkten als Benutzer mit Zugriff auf die Moderationstools auch mehr dürfen, als als Moderator, der er jetzt schon ist? Aus diesem Blickwinkel gesehen ergibt die Aussage von @Matthias Apsel von vornherein keinen Sinn.

                                Ich hatte nicht auf dem Schirm, dass er Moderator ist.

                                Macht ja nix, das ist schließlich kein Weltuntergang. ich dachte nur so „Ähhh?“. Die Konsequenz wäre ja gewesen, dass Benutzer, die die 5000-er Marke gerissen haben, mehr dürften, als der gemeine Moderator. Das ergab halt keinen Sinn.

                                Tschö, Auge

                                --
                                Wir hören immer wieder, dass Regierungscomputer gehackt wurden. Ich denke, man sollte die Sicherheit seiner Daten nicht Regierungen anvertrauen.
                                Jan Koum, Mitgründer von WhatsApp, im Heise.de-Interview
                  2. Hallo Gunnar,

                    Ich wollte das letztens schon melden, warte aber noch auf Antwort, wie und wo. @Christian Kruse?

                    Da ich nicht weiß, um welchen Beitrag es sich handelt, kann ich dir da keine Antwort geben.

                    LG,
                    CK

                    1. Jener hier: https://forum.selfhtml.org/m949966

                      Nach Reparatur versteh ich jetzt auch was Gunnars älteres Ich damals damit sagen wollte :) Danke. Bin ich also doch nicht komplett desinformiert was den Tyrannomatchus Rex angeht.

                      Rolf

            3. Hallo liebes Forum.

              Ich bin mir sicher, dass man einen regulären Ausdruck schreiben könnte, der gültige Datumsangaben erkennt

              Ich habe mal dieses Prüfmuster für das Format dd-mm-yyyy geschrieben wobei das Trennzeichen eines von -.,/ sein kann. Es kann hier getestet werden und enthält eventuell noch Fehler, wobei ich erstmal keine mehr finden konnte. Es war mehr interessehalber, da es ja einfachere Methoden gibt.

              (?x) # modifier x: free spacing mode (for comments)
                   # verify date dd/mm/yyyy; possible separators: -.,/
                   # valid year range: 0000-9999
              ^    # start anchor
              
              # precheck xx-xx-xxxx,... add new separators here
              (?=\d{2}([-.,\/])\d{2}\1\d{4}$)
              
              (?:  # day-check: non caturing group
              
                # days 01-28
                0[1-9]|1\d|[2][0-8]| 
              
                # february 29d check for leap year: all 4y / 00 years: only each 400
                # 0400,0800,1200,1600,2000,...
                29
                (?!.02. # not if feb: if not ...
                  (?!
                    # 00 years: exclude !0 %400 years
                    (?!(?:[02468][1-35-79]|[13579][0-13-57-9])00)
              
                    # 00,04,08,12,... 
                    \d{2}(?:[02468][048]|[13579][26])
                  )
                )|
              
                # d30 negative lookahead: february cannot have 30 days
                30(?!.02)|
              
                # d31 positive lookahead: month up to 31 days
                31(?=.(?:0[13578]|10|12))
              
              ) # eof day-check
              
              # month 01-12
              .(?:0[1-9]|1[012])
              
              # year 0000-9999
              .\d{4}
              
              $ # end anchor
              

              Vielleicht ist es hilfreich.

              LG, Robert

              1. @@Jonny 5

                Ich bin mir sicher, dass man einen regulären Ausdruck schreiben könnte, der gültige Datumsangaben erkennt

                Ich habe mal dieses Prüfmuster

                Die Idee hier war aber nicht irgendein Prüfmuster, sondern ein regulärer Ausdruck.

                Regulär im Sinne der Chomsky-Hierarchie.

                # d30 negative lookahead: february cannot have 30 days
                30(?!.02)|
                

                Nicht schummeln!

                LLAP 🖖

                --
                “You might believe there are benefits for the developer, but first of all, you should put those behind the interest of the user.” —Stefan Tilkov
                Selfcode: sh:) fo:} ch:? rl:) br:> n4:& va:| de:> zu:} fl:{ ss:| ls:# js:|
                1. Lieber Gunnar,

                  Ich habe mal dieses Prüfmuster

                  Die Idee hier war aber nicht irgendein Prüfmuster, sondern ein regulärer Ausdruck.

                  Regulär im Sinne der Chomsky-Hierarchie.

                  Und hätte er geschrieben "regex gesucht" oder "Suchmuster gesucht" dann wärs in Ordnung? Er möchte doch offensichtlich ein Suchmuster für preg_match.

                  Du mit deiner Chomsky-Hierarchie xD Willkommen in der modernen regex Ära.

                  LG, Robert

                  1. @@Jonny 5

                    Und hätte er geschrieben "regex gesucht" oder "Suchmuster gesucht" dann wärs in Ordnung? Er möchte doch offensichtlich ein Suchmuster für preg_match.

                    Nein. Er möchte eine Datumsvalidierung. Dafür ist preg_match nicht besonders geeignet. (Egal ob mit regulärem oder nicht-regulärem Suchmuster.)

                    LLAP 🖖

                    --
                    “You might believe there are benefits for the developer, but first of all, you should put those behind the interest of the user.” —Stefan Tilkov
                    Selfcode: sh:) fo:} ch:? rl:) br:> n4:& va:| de:> zu:} fl:{ ss:| ls:# js:|
                    1. @@Jonny 5

                      Und hätte er geschrieben "regex gesucht" oder "Suchmuster gesucht" dann wärs in Ordnung? Er möchte doch offensichtlich ein Suchmuster für preg_match.

                      Nein. Er möchte eine Datumsvalidierung. Dafür ist preg_match nicht besonders geeignet. (Egal ob mit regulärem oder nicht-regulärem Suchmuster.)

                      Tatsächlich weiss ja nur er, was er möchte :] Und ich hatte ja geschrieben, dass es einfachere Methoden gibt. Aber es macht eben auch Spaß mit soetwas zu spielen - in welcher Form auch immer.

                      lG, Robert

                      1. @@Jonny 5

                        Tatsächlich weiss ja nur er, was er möchte :]

                        Davon würde ich nicht unbedingt ausgehen. So manche Fragende beschreiben nicht ihr Problem, sondern etwas, was sie als Teil der Lösung ansehen.

                        Aber es macht eben auch Spaß mit soetwas zu spielen - in welcher Form auch immer.

                        Yep. Wenn’s mich irgendwann mal packen sollte, überleg ich mir mal, wie der reguläre Ausdruck für ein Datum im Format dd.mm.yyyy aussieht.

                        LLAP 🖖

                        --
                        “You might believe there are benefits for the developer, but first of all, you should put those behind the interest of the user.” —Stefan Tilkov
                        Selfcode: sh:) fo:} ch:? rl:) br:> n4:& va:| de:> zu:} fl:{ ss:| ls:# js:|
                        1. @@Jonny 5

                          Tatsächlich weiss ja nur er, was er möchte :]

                          Davon würde ich nicht unbedingt ausgehen. So manche Fragende beschreiben nicht ihr Problem, sondern etwas, was sie als Teil der Lösung ansehen.

                          Aber es macht eben auch Spaß mit soetwas zu spielen - in welcher Form auch immer.

                          Yep. Wenn’s mich irgendwann mal packen sollte, überleg ich mir mal, wie der reguläre Ausdruck für ein Datum im Format dd.mm.yyyy aussieht.

                          Ich denke, es hat auch schon andere gepackt. Weniger effiziente und auch einige fehlerbehaftete Lösungen sind durchaus zu finden. Ich bin jedenfalls gespannt auf deine "reguläre" Version.

                          LG, Robert

                          1. @@Jonny 5

                            Ich bin jedenfalls gespannt auf deine "reguläre" Version.

                            Dann werd ich mal nicht lumpen lassen.

                            ^((0[1-9]|1[0-9]|2[0-8])[./-](0[1-9]|1[0-2])|(29|30)[./-](0[13-9]|1[0-2])|31[./-](0[13578]|1[02]))[./-][0-9]{4}|29[./-]02[./-]([0-9]{2}(0[48]|[2468][048]|[13579][26])|([02468][048]|[13579][26])00)$
                            

                            Aufgedröselt:

                            ^                                                # Anfang
                            (
                              ( 0[1-9] | 1[0-9] | 2[0-8] )                   # 01. bis 28. Tag
                              [./-]                                          # Trennzeichen ('.', '/' oder '-')
                              ( 0[1-9] | 1[0-2] )                            # 01. bis 12. Monat
                              
                              |                                              # oder
                              
                              ( 29 | 30 )                                    # 29. bis 30. Tag
                              [./-]                                          # Trennzeichen
                              ( 0[13-9] | 1[0-2] )                           # 01. oder 03. bis 12. Monat (nicht Februar)
                              
                              |                                              # oder
                              
                              31                                             # 31. Tag
                              [./-]                                          # Trennzeichen
                              ( 0[13578] | 1[02] )                           # 01., 03., 05., 07., 08., 10.
                                                                             # oder 12. Monat
                            )
                            [./-]                                            # Trennzeichen
                            [0-9]{4}                                         # Jahr
                            
                            |                                                # oder
                            
                            29[./-]02[./-]                                   # 29.02.
                            (
                              [0-9]{2} ( 0[48] | [2468][048] | [13579][26] ) # beliebiges Jahrhundert,
                                                                             # durch 4 teilbares Jahr
                                                                             # außer volle Jahrhunderte
                            
                              |                                              # oder
                            
                              ( [02468][048] | [13579][26] ) 00              # durch 4 teilbares Jahrhundert
                            )
                            $                                                # Schluss
                            

                            Anmerkungen:

                            • ( ) dienen hier nur zur Klammerung, nicht zum Merken von Teilen. In Implementationen wäre dafür (?: ) zu verwenden.

                            • Der Ausdruck prüft nicht, ob zwischen Tag/Monat und Monat/Jahr dasselbe Trennzeichen steht. Wie das zu bewerkstelligen wäre, hatte ich damals schon angesprochen.

                            • Im Gegensatz zu damals ist dieser Ausdruck nicht für die Ewigkeit, sondern nur für die Jahre 0000 bis 9999. Danach wird die Menschheit bestimmt nicht mehr dieses recht unsinnige Datumsformat verwenden, sondern das wohlgeordnete yyyy-mm-dd.

                            • Zur Validierung eines Datums wird die Menschheit nicht reguläre Ausdrücke verwenden und Zeichenketten untersuchen, sondern die Zahlen prüfen.

                            LLAP 🖖

                            --
                            “You might believe there are benefits for the developer, but first of all, you should put those behind the interest of the user.” —Stefan Tilkov
                            Selfcode: sh:) fo:} ch:? rl:) br:> n4:& va:| de:> zu:} fl:{ ss:| ls:# js:|
                            1. Hallo Gunnar,

                              • Der Ausdruck prüft nicht, ob zwischen Tag/Monat und Monat/Jahr dasselbe Trennzeichen steht.

                              muss das denn? Ich habe das zwar in freier Wildbahn noch nicht gesehen, könnte mir aber durchaus vorstellen, dass man das Jahr mit einem anderen Trennzeichen abtrennt als Tag und Monat voneinander. Warum auch nicht?

                              • Im Gegensatz zu damals ist dieser Ausdruck nicht für die Ewigkeit, sondern nur für die Jahre 0000 bis 9999. Danach wird die Menschheit bestimmt nicht mehr dieses recht unsinnige Datumsformat verwenden, sondern das wohlgeordnete yyyy-mm-dd.

                              Oder das Julianische Datum. :-)

                              • Zur Validierung eines Datums wird die Menschheit nicht reguläre Ausdrücke verwenden und Zeichenketten untersuchen, sondern die Zahlen prüfen.

                              ACK.

                              So long,
                               Martin

                              --
                              Bei der Umsetzung von guten Ideen hapert es meist viel mehr an der Wolle als an der Könne.
                              1. @@Der Martin

                                • Der Ausdruck prüft nicht, ob zwischen Tag/Monat und Monat/Jahr dasselbe Trennzeichen steht.

                                muss das denn? Ich habe das zwar in freier Wildbahn noch nicht gesehen, könnte mir aber durchaus vorstellen, dass man das Jahr mit einem anderen Trennzeichen abtrennt als Tag und Monat voneinander. Warum auch nicht?

                                Jetzt wo du’s sagst … AFAIR haben wir damals™ in der Schule im Russischunterricht das Datum im Format 27/IV-2016г. gelernt. (vorn '/', hinten '-', Monat in römisch.)

                                Laut russischer Wikipedia ist das aber nicht (mehr?) geläufig, sondern dd.mm.yyyy.

                                • … sondern das wohlgeordnete yyyy-mm-dd.

                                Oder das Julianische Datum. :-)

                                Sternzeit.

                                LLAP 🖖

                                --
                                “You might believe there are benefits for the developer, but first of all, you should put those behind the interest of the user.” —Stefan Tilkov
                                Selfcode: sh:) fo:} ch:? rl:) br:> n4:& va:| de:> zu:} fl:{ ss:| ls:# js:|
                                1. Hallo,

                                  Jetzt wo du’s sagst … AFAIR haben wir damals™ in der Schule im Russischunterricht das Datum im Format 27/IV-2016г. gelernt. (vorn '/', hinten '-', Monat in römisch.)

                                  hmm, was bedeutet das 'г.' nach der Jahreszahl?

                                  • … sondern das wohlgeordnete yyyy-mm-dd.

                                  Oder das Julianische Datum. :-)

                                  Sternzeit.

                                  Obacht: Die Trekkies verstehen darunter etwas anderes als die Wissenschaftler.
                                  Aber das ist dir sicher bekannt.

                                  So long,
                                   Martin

                                  --
                                  Bei der Umsetzung von guten Ideen hapert es meist viel mehr an der Wolle als an der Könne.
                                  1. @@Der Martin

                                    27/IV-2016г.

                                    hmm, was bedeutet das 'г.' nach der Jahreszahl?

                                    года – Genitiv von год (Jahr). Wörtlich wäre das Datum: 27ster des Aprils des 2016sten Jahres.

                                    Betonung auf dem о: го́да[1]. Das wäre mir ohne nachzulesen nicht mehr bekannt gewesen.

                                    Obacht: Die Trekkies verstehen darunter etwas anderes als die Wissenschaftler.
                                    Aber das ist dir sicher bekannt.

                                    Sicher.

                                    LLAP 🖖

                                    --
                                    “You might believe there are benefits for the developer, but first of all, you should put those behind the interest of the user.” —Stefan Tilkov
                                    Selfcode: sh:) fo:} ch:? rl:) br:> n4:& va:| de:> zu:} fl:{ ss:| ls:# js:|

                                    1. Dass da bei mir ein Leerzeichen mitten im Wort gerendert wird, ist wohl ein Fehler. Nicht meiner. ↩︎

                                    1. Hallo Gunnar Bittersmann,

                                      hmm, was bedeutet das 'г.' nach der Jahreszahl?

                                      года – Genitiv von год (Jahr). Wörtlich wäre das Datum: 27ster des Aprils des 2016sten Jahres.

                                      Bei Zeitdauern jedoch:

                                      Сколько тебе лет? - Wie alt bist du? Wieviele Jahre sind dir (bereits gegeben worden)?

                                      мне 31 год.
                                      мне 33 года.
                                      мне 37 лет.

                                      Bis demnächst
                                      Matthias

                                      --
                                      Wenn eine Idee nicht zuerst absurd erscheint, taugt sie nichts. (Albert Einstein)
                                      1. @@Matthias Apsel

                                        Сколько тебе лет?

                                        Ja, beim Fragewort сколько (wieviel) steht wie bei Zahlen 5–20, 35–40, 45–50 usw. der Genitiv Plural.[1]

                                        Wieviele Jahre sind dir (bereits gegeben worden)?

                                        Genauer: Wieviel der Jahre …

                                        Noch genauer: Eigentlich hat год ja gar keinen (eigenen) Plural, sondern es werden die Sommer (лето) gezählt.[2] Das ist wohl slawischen Sprachen gemein.

                                        LLAP 🖖

                                        --
                                        “You might believe there are benefits for the developer, but first of all, you should put those behind the interest of the user.” —Stefan Tilkov
                                        Selfcode: sh:) fo:} ch:? rl:) br:> n4:& va:| de:> zu:} fl:{ ss:| ls:# js:|

                                        1. https://twitter.com/g16n/status/710822897166761984 ↩︎

                                        2. ebenda ↩︎

                                    2. Hi,

                                      27/IV-2016г.

                                      hmm, was bedeutet das 'г.' nach der Jahreszahl?

                                      года – Genitiv von год (Jahr). Wörtlich wäre das Datum: 27ster des Aprils des 2016sten Jahres.

                                      danke, irgendwas in der Richtung habe ich vermutet. Du weißt, ich kann kein Russisch, bin aber immer neugierig, wenn's um Fremdsprachen geht.

                                      Betonung auf dem о: го́да.

                                      Hätte ich intuitiv angenommen.

                                      Dass da bei mir ein Leerzeichen mitten im Wort gerendert wird, ist wohl ein Fehler. Nicht meiner.

                                      Meiner auch nicht. Und bei mir ist da auch keins.

                                      Ciao,
                                       Martin

                                      --
                                      Bei der Umsetzung von guten Ideen hapert es meist viel mehr an der Wolle als an der Könne.
                                      1. @@Der Martin

                                        Dass da bei mir ein Leerzeichen mitten im Wort gerendert wird, ist wohl ein Fehler. Nicht meiner.

                                        Meiner auch nicht. Und bei mir ist da auch keins.

                                        Hm, liegt wohl an der Schriftart?

                                        In meinem Posting: PT Sans Screenshot

                                        Im Eingabefeld: Courier (Browserdefault) Screenshot

                                        Im Wiktionary: Helvetica Screenshot

                                        Im Unicode code converter: Courier (Browserdefault) Screenshot

                                        Wieso dort im Eingabefeld anders als hier?

                                        LLAP 🖖

                                        --
                                        “You might believe there are benefits for the developer, but first of all, you should put those behind the interest of the user.” —Stefan Tilkov
                                        Selfcode: sh:) fo:} ch:? rl:) br:> n4:& va:| de:> zu:} fl:{ ss:| ls:# js:|
                                        1. @@Gunnar Bittersmann

                                          Wieso dort im Eingabefeld anders als hier?

                                          Weil hier im Eingabefeld nicht Courier (Browserdefault), sondern Menlo.

                                          Menno, das hatte ich übersehen: Menlo,Monaco,Consolas,"Courier New",monospace

                                          LLAP 🖖

                                          --
                                          “You might believe there are benefits for the developer, but first of all, you should put those behind the interest of the user.” —Stefan Tilkov
                                          Selfcode: sh:) fo:} ch:? rl:) br:> n4:& va:| de:> zu:} fl:{ ss:| ls:# js:|
                                        2. Hi,

                                          Im Eingabefeld: Courier (Browserdefault) Screenshot

                                          Im Unicode code converter: Courier (Browserdefault) Screenshot

                                          Wieso dort im Eingabefeld anders als hier?

                                          das abweichende Schriftbild ist ja nun geklärt - aber wieso ist auch das Akzent-Zeichen woanders?

                                          So long,
                                           Martin

                                          --
                                          Bei der Umsetzung von guten Ideen hapert es meist viel mehr an der Wolle als an der Könne.
                                  2. Hi,

                                    Obacht: Die Trekkies verstehen darunter etwas anderes als die Wissenschaftler.

                                    Wagst Du es etwa, zu implizieren, daß Trekkies keine Wissenschaftler sind? ;-)

                                    cu,
                                    Andreas a/k/a MudGuard

                                    1. Hallo,

                                      Obacht: Die Trekkies verstehen darunter etwas anderes als die Wissenschaftler.

                                      Wagst Du es etwa, zu implizieren, daß Trekkies keine Wissenschaftler sind? ;-)

                                      nein, ich impliziere das keineswegs. Ich bin mir sogar sicher, dass es eine nicht-leere Schnittmenge gibt.

                                      So long,
                                       Martin

                                      --
                                      Bei der Umsetzung von guten Ideen hapert es meist viel mehr an der Wolle als an der Könne.
                            2. Lieber Gunnar,

                              @@Jonny 5

                              Ich bin jedenfalls gespannt auf deine "reguläre" Version.

                              Dann werd ich mal nicht lumpen lassen.

                              Das ist ein sehr schöner Ansatz und ich konnte auf den ersten Blick auch keine Fehler finden. Interessant ist deine Version da kompatibler in den unterschiedlichen Regex Implementationen (auch mein Suchmuster verwendet keine sehr unkonventionellen Erweiterungen; Lookarounds und eine capture group - was ja in den meisten Regex Implementationen unterstützt wird).

                              Von der Performance dürfte der Ausdruck geringfügig langsamer als das von mir bereitgestellte Prüfmuster sein. Das spielt aber keine Rolle, da die Performance bei einem zu prüfendem Datum im Alltagsgebrauch bei beiden Versionen hoch ist.

                              Ich würde dir natürlich Punkte dafür geben, kann dies aber leider noch nicht. Wahrlich hast du dich nicht lumpen lassen. Vielen Dank für deine Mühe und lG,

                              Robert

                              1. Hallo,

                                Ich würde dir natürlich Punkte dafür geben, kann dies aber leider noch nicht.

                                Diese Ausrede gilt ab jetzt nicht mehr ;)

                                Gruß
                                Kalk

  2. Hallo Forum,

    1. nich möchte prüfen, ob ein Datum in folgendem Format übermittelt wird

    dd-mm-yyyy

    Könnte es so klappen?

    if( preg_match("~^\d{2}[/.-]\d{2}[/.-]\d{4}$~", $datum) ) { ...
    

    Luk

  3. Lieber Lukas.,

    dd-mm-yyyy

    ekliges Format für ein Datum. Also muss man es im ersten Schritt uneklig (yyyymmdd eignet sich prima zum Vergleich!) machen:

    $input = date('d-m-Y', strtotime('today -5 days')); // fake for testing
    
    $date = implode('', array_reverse(explode('-', $input)));
    
    $today = date('Ymd');
    
    if ($today < $date) {
        // date is in the future!
        $date = $today;
    }
    
    // $date is either today or in the past
    

    Liebe Grüße,

    Felix Riesterer.

  4. Tach!

    1. nich möchte prüfen, ob ein Datum in folgendem Format übermittelt wird

    dd-mm-yyyy

    Muss es zwingend dieses Format sein, oder reicht es eigentlich auch, wenn eine Menge Formate erkannt werden? strtotime() und damit auch der Konstruktor von DateTime verstehen viele Schreibweisen. Wenn es ein festes Format sein soll, bei DateTime::createFromFormat kann man ein solches vorgeben. Damit hat man Prüfen und Parsen in einem Schritt.

    1. und zugleich nicht in der Zukunft (also maximal heute) ist.

    Die DateTime-Klasse hat auch eine diff-Methode.

    dedlfix.

    1. Tach!

      1. nich möchte prüfen, ob ein Datum in folgendem Format übermittelt wird

      dd-mm-yyyy

      Muss es zwingend dieses Format sein, oder reicht es eigentlich auch, wenn eine Menge Formate erkannt werden?

      Hallo an alle,

      ja. Es muß zwingend dieses Format sein, ansonsten versucht jemand, mich hereinzulegen. Es hängt ein Kalendericon hinter dem Eingabefeld und es wird ein Datum vorab eingetragen.

      Soll heißen, alles, was nciht in diesem Format das Script erreicht, ist mehr oder minder bewußt falsch eingetragen worden. Ob bewußt oder nicht, kann mir aber auch ziemlich egal sein, denn wenn irgendwas abseits dd-mm-yyyy das Script erreicht, setze ich ja das aktuelle datum ein. Ist dieses datum userseits aber ungewollt, darf der User sich damit auseinandersetzen, was das Formular vorgibt bzw. das Kalenderplugin einträgt. Will der User das nicht, muß er mit dem heutigen Datum leben können...

      Luk

      1. Tach!

        dd-mm-yyyy

        Muss es zwingend dieses Format sein, oder reicht es eigentlich auch, wenn eine Menge Formate erkannt werden?

        ja. Es muß zwingend dieses Format sein, ansonsten versucht jemand, mich hereinzulegen.

        Dann nimm DateTime::createFromFormat(). Das lässt aber auch einstellige Werte durch. Wenn die unbedingt erkannt werden müssen, dann nimm einen ganz einfachen Regex vorher. Falsche aber korrekt formatierte Datümer werden beim Parsen nicht erkannt. Stattdessen rechnet PHP sie in den nächstmöglichen Tag um. Also der 31.2. wird dann der 2. oder 3.3. An dieser Stelle würde ich mich nicht weiter darum kümmern, ob da ein gültiges Datum eingegeben wurde. Es ist sicher auch möglich, im Sinne deines Anwendungsfalles unsinnige aber ansonsten richtige Datumse einzugeben, die du nicht automatisch erkennen kannst - oder nur mit überproportionalem Aufwand. Jahre jenseits unserer Lebenserwartung beispielsweise wären nach deiner Definition korrekt, aber auch sinnvoll?

        dedlfix.