Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Visualisierung
  4. Wie das Datumsformat in VIS2 eintragen?

NEWS

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

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

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

Wie das Datumsformat in VIS2 eintragen?

Wie das Datumsformat in VIS2 eintragen?

Scheduled Pinned Locked Moved Visualisierung
16 Posts 3 Posters 321 Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • Ben1983B Online
    Ben1983B Online
    Ben1983
    wrote on last edited by Ben1983
    #1

    Hallo, ich möchte ein Datum in VIS2 eintragen.
    Habe dieses Widget:

    7ea62cdc-8ee6-4ab4-a307-df90f94e6884-image.png

    570dcdde-0772-41c6-bc44-abc21aacb0ff-image.png

    Hier kommt das Format: "04.01.2025" heraus.
    ich benötige aber "2025-01-04", denn
    sonnst macht mein Script an der Stelle

        const start = new Date(variableDesDatums);
        log(start)
    

    einen "invalid Date" error

    Dachte er schnallt es, aber kann man das format irgendwo ändern?

    paul53P 1 Reply Last reply
    0
    • Ben1983B Ben1983

      Hallo, ich möchte ein Datum in VIS2 eintragen.
      Habe dieses Widget:

      7ea62cdc-8ee6-4ab4-a307-df90f94e6884-image.png

      570dcdde-0772-41c6-bc44-abc21aacb0ff-image.png

      Hier kommt das Format: "04.01.2025" heraus.
      ich benötige aber "2025-01-04", denn
      sonnst macht mein Script an der Stelle

          const start = new Date(variableDesDatums);
          log(start)
      

      einen "invalid Date" error

      Dachte er schnallt es, aber kann man das format irgendwo ändern?

      paul53P Offline
      paul53P Offline
      paul53
      wrote on last edited by
      #2

      @ben1983 sagte: "invalid Date" error

      Nicht mit dem 04.01.2025. Daraus wird der 01.04.2025. Erst, wenn die erste Zahl > 12 ist, erscheint "invalid Date".

      Blockly_temp.JPG

      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

      Ben1983B 1 Reply Last reply
      0
      • paul53P paul53

        @ben1983 sagte: "invalid Date" error

        Nicht mit dem 04.01.2025. Daraus wird der 01.04.2025. Erst, wenn die erste Zahl > 12 ist, erscheint "invalid Date".

        Blockly_temp.JPG

        Ben1983B Online
        Ben1983B Online
        Ben1983
        wrote on last edited by
        #3

        @paul53 Danke das klappt beim einsetzen der formatDate Funktion ganz gut.
        Nur macht er aus dem 04.01.2025 den 03.01.2025.
        Er zieht also einen Tag ab. kann ich den irgendwie dazuaddieren, oder etwas bestimmtes angeben?

        paul53P 1 Reply Last reply
        0
        • Ben1983B Ben1983

          @paul53 Danke das klappt beim einsetzen der formatDate Funktion ganz gut.
          Nur macht er aus dem 04.01.2025 den 03.01.2025.
          Er zieht also einen Tag ab. kann ich den irgendwie dazuaddieren, oder etwas bestimmtes angeben?

          paul53P Offline
          paul53P Offline
          paul53
          wrote on last edited by paul53
          #4

          @ben1983 sagte: Nur macht er aus dem 04.01.2025 den 03.01.2025.

          Das glaube ich nicht: Der Monat muss vor dem Tag stehen, damit das Datum richtig interpretiert wird: "MM.DD.YYYY".

          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

          Ben1983B 1 Reply Last reply
          0
          • paul53P paul53

            @ben1983 sagte: Nur macht er aus dem 04.01.2025 den 03.01.2025.

            Das glaube ich nicht: Der Monat muss vor dem Tag stehen, damit das Datum richtig interpretiert wird: "MM.DD.YYYY".

            Ben1983B Online
            Ben1983B Online
            Ben1983
            wrote on last edited by
            #5

            @paul53 Aber du hast doch oben auch:

            formatDate(new Date('04.01.2025'),'DD.MM.YYYY'));
            stehen.

            Ich habe nun:

            formatDate(datumswert,"DD.MM.YYYY")
            

            und er spuckt bei Tag > 12 ein invalidDate aus. obwohl ja im format angegeben ist, dass zuerst date kommen soll:

            Visu: Start und ende:

            a8cd3f83-06df-4dab-90bb-ee3e6e67f515-image.png

            Ergebnis:

            a480ba7a-332d-459d-a517-bcf9c5373eb7-image.png

            1ab5b57d-9151-4f54-8e1b-48b601939076-image.png

            paul53P 1 Reply Last reply
            0
            • Ben1983B Ben1983

              @paul53 Aber du hast doch oben auch:

              formatDate(new Date('04.01.2025'),'DD.MM.YYYY'));
              stehen.

              Ich habe nun:

              formatDate(datumswert,"DD.MM.YYYY")
              

              und er spuckt bei Tag > 12 ein invalidDate aus. obwohl ja im format angegeben ist, dass zuerst date kommen soll:

              Visu: Start und ende:

              a8cd3f83-06df-4dab-90bb-ee3e6e67f515-image.png

              Ergebnis:

              a480ba7a-332d-459d-a517-bcf9c5373eb7-image.png

              1ab5b57d-9151-4f54-8e1b-48b601939076-image.png

              paul53P Offline
              paul53P Offline
              paul53
              wrote on last edited by paul53
              #6

              @ben1983 sagte: du hast doch oben auch:

              formatDate(new Date('04.01.2025'),'DD.MM.YYYY'));

              ... und das Datum ergibt im Ergebnis den 01.04.2025.
              Die Ausgabe kann im Format "DD.MM.YYYY" erfolgen, aber nicht die Eingabe. Im Eingabe-String muss der Monat vor dem Tag stehen, damit richtig interpretiert wird.

              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

              Ben1983B 1 Reply Last reply
              0
              • paul53P paul53

                @ben1983 sagte: du hast doch oben auch:

                formatDate(new Date('04.01.2025'),'DD.MM.YYYY'));

                ... und das Datum ergibt im Ergebnis den 01.04.2025.
                Die Ausgabe kann im Format "DD.MM.YYYY" erfolgen, aber nicht die Eingabe. Im Eingabe-String muss der Monat vor dem Tag stehen, damit richtig interpretiert wird.

                Ben1983B Online
                Ben1983B Online
                Ben1983
                wrote on last edited by Ben1983
                #7

                @paul53
                OK. Also im log steht "2025-01-04"
                Das bedeutet für mich YYYY = 2025 ; MM = 01 ; DD = 04.
                nicht 01.05.2025 oder?

                und in der eingabe der visu kann man ja das format nicht ändern, das ist ja gerade mein "Problem".

                Das anzeigeformat "DD.MM.YYYY" finde ich ja gut, aber die new Date() funktion wohl nicht

                paul53P 1 Reply Last reply
                0
                • Ben1983B Ben1983

                  @paul53
                  OK. Also im log steht "2025-01-04"
                  Das bedeutet für mich YYYY = 2025 ; MM = 01 ; DD = 04.
                  nicht 01.05.2025 oder?

                  und in der eingabe der visu kann man ja das format nicht ändern, das ist ja gerade mein "Problem".

                  Das anzeigeformat "DD.MM.YYYY" finde ich ja gut, aber die new Date() funktion wohl nicht

                  paul53P Offline
                  paul53P Offline
                  paul53
                  wrote on last edited by
                  #8

                  @ben1983 sagte: und in der eingabe der visu kann man ja das format nicht ändern.

                  Du kannst den 4.1.2025 aber so eingeben: 01.04.2025. Also erst der Monat, dann der Tag.

                  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

                  Ben1983B 1 Reply Last reply
                  0
                  • paul53P paul53

                    @ben1983 sagte: und in der eingabe der visu kann man ja das format nicht ändern.

                    Du kannst den 4.1.2025 aber so eingeben: 01.04.2025. Also erst der Monat, dann der Tag.

                    Ben1983B Online
                    Ben1983B Online
                    Ben1983
                    wrote on last edited by
                    #9

                    @paul53 Ja aber es ist ja ein fertiges widget.
                    Man klickt auf einem Kalender ein datum an.

                    paul53P 1 Reply Last reply
                    0
                    • Ben1983B Ben1983

                      @paul53 Ja aber es ist ja ein fertiges widget.
                      Man klickt auf einem Kalender ein datum an.

                      paul53P Offline
                      paul53P Offline
                      paul53
                      wrote on last edited by paul53
                      #10

                      @ben1983 sagte: Man klickt auf einem Kalender ein datum an.

                      Dann tausche Monat und Tag im Skript vor new Date():

                      var date = '04.01.2025';
                      date = date.split('.');
                      date = date[1] + '.' + date[0] + '.' + date[2]; 
                      // oder
                      // date = date[2] + '-' + date[1] + '-' + date[0];
                      

                      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

                      Ben1983B 1 Reply Last reply
                      0
                      • paul53P paul53

                        @ben1983 sagte: Man klickt auf einem Kalender ein datum an.

                        Dann tausche Monat und Tag im Skript vor new Date():

                        var date = '04.01.2025';
                        date = date.split('.');
                        date = date[1] + '.' + date[0] + '.' + date[2]; 
                        // oder
                        // date = date[2] + '-' + date[1] + '-' + date[0];
                        
                        Ben1983B Online
                        Ben1983B Online
                        Ben1983
                        wrote on last edited by
                        #11

                        @paul53 OK.
                        Versuche ich mal, aber wär es nicht sinnvoll die Ausgabe des Widgets eingeben zu können?

                        paul53P 1 Reply Last reply
                        0
                        • Ben1983B Ben1983

                          @paul53 OK.
                          Versuche ich mal, aber wär es nicht sinnvoll die Ausgabe des Widgets eingeben zu können?

                          paul53P Offline
                          paul53P Offline
                          paul53
                          wrote on last edited by
                          #12

                          @ben1983 sagte: wär es nicht sinnvoll die Ausgabe des Widgets eingeben zu können?

                          So wird die Ausgabe des Widgets ("DD.MM.YYYY") richtig verarbeitet.

                          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

                          Ben1983B 2 Replies Last reply
                          0
                          • paul53P paul53

                            @ben1983 sagte: wär es nicht sinnvoll die Ausgabe des Widgets eingeben zu können?

                            So wird die Ausgabe des Widgets ("DD.MM.YYYY") richtig verarbeitet.

                            Ben1983B Online
                            Ben1983B Online
                            Ben1983
                            wrote on last edited by
                            #13

                            @paul53 Also ich meinte damit schon so ausgeben, aber im Hintergrund die Variable entsprechend eines angegebenen formats beschrieben / auslesen

                            1 Reply Last reply
                            0
                            • paul53P paul53

                              @ben1983 sagte: wär es nicht sinnvoll die Ausgabe des Widgets eingeben zu können?

                              So wird die Ausgabe des Widgets ("DD.MM.YYYY") richtig verarbeitet.

                              Ben1983B Online
                              Ben1983B Online
                              Ben1983
                              wrote on last edited by Ben1983
                              #14

                              @paul53 Habe jetzt meine Funktion so umgeändert:

                              läuft:

                              function nowIsBetweenCompleteDate(startdate, enddate){
                                  let temp = startdate.split(".");
                                  startdate = `${temp[2]}-${temp[1]}-${temp[0]}`;
                                  temp = enddate.split(".");
                                  enddate = `${temp[2]}-${temp[1]}-${temp[0]}`;
                                  const today = new Date();
                                  const start = new Date(startdate);
                                  const end = new Date(enddate);
                                  start.setHours(0);
                                  start.setMinutes(0);
                                  start.setSeconds(0);
                                  end.setHours(23);
                                  end.setMinutes(59);
                                  end.setSeconds(59);
                                  return (today >= start && today <= end);
                              }
                              

                              Allerdings liegt jetzt der string immer noch "falsch" im dp. und wenn drauf zugegriffen wird, dann kommt es zu einem fehler, also mussi ch es anders lösen

                              CodierknechtC 1 Reply Last reply
                              0
                              • Ben1983B Ben1983

                                @paul53 Habe jetzt meine Funktion so umgeändert:

                                läuft:

                                function nowIsBetweenCompleteDate(startdate, enddate){
                                    let temp = startdate.split(".");
                                    startdate = `${temp[2]}-${temp[1]}-${temp[0]}`;
                                    temp = enddate.split(".");
                                    enddate = `${temp[2]}-${temp[1]}-${temp[0]}`;
                                    const today = new Date();
                                    const start = new Date(startdate);
                                    const end = new Date(enddate);
                                    start.setHours(0);
                                    start.setMinutes(0);
                                    start.setSeconds(0);
                                    end.setHours(23);
                                    end.setMinutes(59);
                                    end.setSeconds(59);
                                    return (today >= start && today <= end);
                                }
                                

                                Allerdings liegt jetzt der string immer noch "falsch" im dp. und wenn drauf zugegriffen wird, dann kommt es zu einem fehler, also mussi ch es anders lösen

                                CodierknechtC Offline
                                CodierknechtC Offline
                                Codierknecht
                                Developer Most Active
                                wrote on last edited by
                                #15

                                @ben1983
                                Kann man übrigens auch schön per replace machen:

                                let start = new Date(startdate.replace(/(\d+)[.](\d+)[.](\d+)/,'$3-$2-$1'));
                                

                                Im Sinne von "CleanCode" würde ich persönlich auch strikt zwischen Parametern und lokalen Variablen trennen. Sonst kommt man da (später mal) schnell durcheinander. Soll heißen: Keine Parameter intern nochmals verändern.

                                "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                                Proxmox 8.2.4 LXC|8 GB|Core i7-6700
                                HmIP|ZigBee|Tasmota|Unifi + dies & das
                                Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                                1 Reply Last reply
                                0
                                • Ben1983B Online
                                  Ben1983B Online
                                  Ben1983
                                  wrote on last edited by
                                  #16

                                  Ich habe jetzt das Widget Input verwendet:

                                  hier kann man das angeben:
                                  Das macht auf der Eingabemaske: DD.MM.YYYY
                                  gibt es aber als wert passend raus: YYYY-MM-DD

                                  1 Reply Last reply
                                  0
                                  Reply
                                  • Reply as topic
                                  Log in to reply
                                  • Oldest to Newest
                                  • Newest to Oldest
                                  • Most Votes


                                  Support us

                                  ioBroker
                                  Community Adapters
                                  Donate

                                  594

                                  Online

                                  32.4k

                                  Users

                                  81.3k

                                  Topics

                                  1.3m

                                  Posts
                                  Community
                                  Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                  ioBroker Community 2014-2025
                                  logo
                                  • Login

                                  • Don't have an account? Register

                                  • Login or register to search.
                                  • First post
                                    Last post
                                  0
                                  • Recent
                                  • Tags
                                  • Unread 0
                                  • Categories
                                  • Unreplied
                                  • Popular
                                  • GitHub
                                  • Docu
                                  • Hilfe