Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Frage zu : Muster "isDateinRange"

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.9k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.3k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.4k

Frage zu : Muster "isDateinRange"

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
13 Beiträge 4 Kommentatoren 1.2k Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • bahnuhrB Online
    bahnuhrB Online
    bahnuhr
    Forum Testing Most Active
    schrieb am zuletzt editiert von
    #1

    Hallo,

    auf der Seite "iobroker" gibt es ja Muster-Scripte.

    u.a. auch das Script -> Ist Datum im Bereich

    Also folgendes Script:

    ! function currentDate2() {
    ! var d = new Date();
    ! return new Date(d.getFullYear(), d.getMonth(), d.getDate());
    ! }
    ! function addDate(strDate) {
    ! var date = strDate.split('.');
    ! var d = currentDate2();
    ! d.setDate(date[0]);
    ! d.setMonth(date[1]-1);
    ! d.setFullYear(date[2]);
    ! return d;
    ! }
    ! function isDateInRange(strLower, strUpper) {
    ! var now = new Date();
    ! var lower = addDate(strLower);
    ! var upper = addDate(strUpper);
    ! var inRange = false;
    ! if (upper > lower) inRange = (now >= lower && now <= upper) ? true : false;
    ! else log('isDateInRange meldet Fehler! "von"-Datum ist nicht früher als "bis"-Datum', 'error');
    ! log("upper=" + upper + " lower="+lower + " now=" + now);
    ! return inRange;
    ! }

    Dieses Script habe ich als globales Script gespeichert.

    Heute ist der 29.12.016. Wenn ich nun aus einem anderen Script probiere, z.B.

    var Zeit_pruef = isDateInRange('29.12.2016', '30.12.2016');

    dann bekomme ich true zurück. Soweit sogut.

    Schreib ich aber:

    var Zeit_pruef = isDateInRange('28.12.2016', '29.12.2016');

    dann kommt false zurück.

    Warum ???

    Der upper Wert ist doch gleich dem now Wert; warum klappt dies nicht ?

    Und wenn ich gar:

    var Zeit_pruef = isDateInRange('29.12.2016', '29.12.2016');

    dann kommt sogar die Fehlermeldung: 'isDateInRange meldet Fehler! "von"-Datum ist nicht früher als "bis"-Datum' im log.

    Damit könnte man doch sehr schön überprüfen ob der Tag genau passt.

    Fazit:

    Irgendwo ist da noch ein Fehler drin!

    Find ihn nur nicht?

    Kann mir jemand da mal helfen.

    mfg

    Dieter


    Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
    Danke.
    gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
    ScreenToGif :https://www.screentogif.com/downloads.html

    1 Antwort Letzte Antwort
    0
    • HomoranH Nicht stören
      HomoranH Nicht stören
      Homoran
      Global Moderator Administrators
      schrieb am zuletzt editiert von
      #2

      Warum soll da ein Fehler drin sein?

      Das aktuelle Datum muss kleiner dem höheren sein ( nicht kleiner gleich!). Das analoge gilt für den unteren Wert.

      Es ist wie beim Fußball

      Die Grenzdaten sind wie torpfosten, der Ball muss dazwischen durch, nicht dagegen, sonst ist es kein Tor.

      Gruß

      Rainer

      kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

      der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

      1 Antwort Letzte Antwort
      0
      • bahnuhrB Online
        bahnuhrB Online
        bahnuhr
        Forum Testing Most Active
        schrieb am zuletzt editiert von
        #3

        das Script lese ich aber anders, dort steht:

        now >= lower && now <= upper

        Das heißt doch, dass "now" auch = lower sein kann.

        oder ?


        Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
        Danke.
        gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
        ScreenToGif :https://www.screentogif.com/downloads.html

        1 Antwort Letzte Antwort
        0
        • bahnuhrB Online
          bahnuhrB Online
          bahnuhr
          Forum Testing Most Active
          schrieb am zuletzt editiert von
          #4

          @Homoran:

          Die Grenzdaten sind wie torpfosten, der Ball muss dazwischen durch, nicht dagegen, sonst ist es kein Tor. `

          Wenn deine These stimmt, dann müsste mein 1. Beispiel nicht funktionieren.

          Denn da liegt now = lower.

          mfg


          Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
          Danke.
          gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
          ScreenToGif :https://www.screentogif.com/downloads.html

          1 Antwort Letzte Antwort
          0
          • bahnuhrB Online
            bahnuhrB Online
            bahnuhr
            Forum Testing Most Active
            schrieb am zuletzt editiert von
            #5

            Ich vermute mal das Problem liegt an den Variablen "lower" und "upper".

            Ich hab diese mal geloggt.

            Ergebnis:
            filename="bild1.jpg" index="0">~~

            Hier sieht man, dass nicht nur das Datum, sondern auch die Uhrzeit gespeichert ist.

            Und das führt m.E. zu falschem Ergebnis.

            mfg


            Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
            Danke.
            gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
            ScreenToGif :https://www.screentogif.com/downloads.html

            1 Antwort Letzte Antwort
            0
            • bahnuhrB Online
              bahnuhrB Online
              bahnuhr
              Forum Testing Most Active
              schrieb am zuletzt editiert von
              #6

              Hallo Homoran,

              konntest du das Script mal testen ?

              mfg


              Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
              Danke.
              gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
              ScreenToGif :https://www.screentogif.com/downloads.html

              1 Antwort Letzte Antwort
              0
              • HomoranH Nicht stören
                HomoranH Nicht stören
                Homoran
                Global Moderator Administrators
                schrieb am zuletzt editiert von
                #7

                @bahnuhr:

                konntest du das Script mal testen ? `

                Nein, außerdem wäre ich als Script Legastheniker dafür der falsche. :D

                Gruß

                Rainer

                kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                1 Antwort Letzte Antwort
                0
                • bahnuhrB Online
                  bahnuhrB Online
                  bahnuhr
                  Forum Testing Most Active
                  schrieb am zuletzt editiert von
                  #8

                  ok,

                  kann jemand anders das script mal überprüfen.

                  mfg

                  Dieter


                  Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                  Danke.
                  gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                  ScreenToGif :https://www.screentogif.com/downloads.html

                  1 Antwort Letzte Antwort
                  0
                  • paul53P Offline
                    paul53P Offline
                    paul53
                    schrieb am zuletzt editiert von
                    #9

                    Versuche es mal mit folgendem Script:

                    function isDateInRange(lower, upper) {
                        var now = Date.now();
                        lower = lower.split('.');
                        upper = upper.split('.');
                        lower = new Date(lower[2], lower[1] - 1, lower[0]).getTime();
                        upper = new Date(upper[2], upper[1] - 1, upper[0], 23, 59, 59, 999).getTime();
                        var inRange = false;
                        if (upper > lower) inRange = (now >= lower && now <= upper) ? true : false;
                        else log('isDateInRange meldet Fehler! "von"-Datum ist später als "bis"-Datum', 'warn');
                        return inRange;
                    }
                    
                    

                    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                    1 Antwort Letzte Antwort
                    0
                    • bahnuhrB Online
                      bahnuhrB Online
                      bahnuhr
                      Forum Testing Most Active
                      schrieb am zuletzt editiert von
                      #10

                      paul53 !

                      das wars.

                      Spitze.

                      Klappt wunderbar.

                      Man sollte dein Script mit dem Muster auf "iobroker" austauschen.

                      -> wenn ein admin mit liest ! <-

                      mfg

                      Dieter


                      Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                      Danke.
                      gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                      ScreenToGif :https://www.screentogif.com/downloads.html

                      1 Antwort Letzte Antwort
                      0
                      • HomoranH Nicht stören
                        HomoranH Nicht stören
                        Homoran
                        Global Moderator Administrators
                        schrieb am zuletzt editiert von
                        #11

                        Ich lese!

                        Auch wenn ich nur Mod bin :o

                        Mal sehen, wann ich wieder an einen PC kann

                        Guten Rutsch

                        Rainer

                        kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                        der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                        1 Antwort Letzte Antwort
                        0
                        • bahnuhrB Online
                          bahnuhrB Online
                          bahnuhr
                          Forum Testing Most Active
                          schrieb am zuletzt editiert von
                          #12

                          Hallo Hamoran,

                          das Time ! in Range auch austauschen.

                          mfg

                          Dieter


                          Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                          Danke.
                          gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                          ScreenToGif :https://www.screentogif.com/downloads.html

                          1 Antwort Letzte Antwort
                          0
                          • P Offline
                            P Offline
                            pix
                            schrieb am zuletzt editiert von
                            #13

                            Melde mich auch mal dazu:

                            ich habe das neue Skript noch nicht getestet. Das alte Skript habe ich auf der Basis http://forum.iobroker.net/viewtopic.php?f=21&t=1072&p=11167&hilit=istimeinrange&sid=5d5834ef7192dc471724e2fb9e5b80e5#p8484 auf isDateinRange umgebastelt

                            http://forum.iobroker.net/viewtopic.php … 20&p=25886

                            Bisher hatte ich keine Fehler, aber ich werde es mir ansehen, wenn ich Zeit finde. Danke für die Meldung!

                            Gruß

                            Pix

                            ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

                            1 Antwort Letzte Antwort
                            0
                            Antworten
                            • In einem neuen Thema antworten
                            Anmelden zum Antworten
                            • Älteste zuerst
                            • Neuste zuerst
                            • Meiste Stimmen


                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            824

                            Online

                            32.5k

                            Benutzer

                            81.6k

                            Themen

                            1.3m

                            Beiträge
                            Community
                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                            ioBroker Community 2014-2025
                            logo
                            • Anmelden

                            • Du hast noch kein Konto? Registrieren

                            • Anmelden oder registrieren, um zu suchen
                            • Erster Beitrag
                              Letzter Beitrag
                            0
                            • Home
                            • Aktuell
                            • Tags
                            • Ungelesen 0
                            • Kategorien
                            • Unreplied
                            • Beliebt
                            • GitHub
                            • Docu
                            • Hilfe