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. Visualisierung
  4. Wie das Datumsformat in VIS2 eintragen?

NEWS

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

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

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

Wie das Datumsformat in VIS2 eintragen?

Geplant Angeheftet Gesperrt Verschoben Visualisierung
16 Beiträge 3 Kommentatoren 323 Aufrufe 2 Watching
  • Ä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.
  • 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
    schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
    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 Offline
      Ben1983B Offline
      Ben1983
      schrieb am zuletzt editiert von
      #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 Antwort Letzte Antwort
      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
        schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
        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 Offline
          Ben1983B Offline
          Ben1983
          schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
          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
            schrieb am zuletzt editiert von
            #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 Antwort Letzte Antwort
            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 Offline
              Ben1983B Offline
              Ben1983
              schrieb am zuletzt editiert von
              #9

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

              paul53P 1 Antwort Letzte Antwort
              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
                schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                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 Offline
                  Ben1983B Offline
                  Ben1983
                  schrieb am zuletzt editiert von
                  #11

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

                  paul53P 1 Antwort Letzte Antwort
                  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
                    schrieb am zuletzt editiert von
                    #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 Antworten Letzte Antwort
                    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 Offline
                      Ben1983B Offline
                      Ben1983
                      schrieb am zuletzt editiert von
                      #13

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

                      1 Antwort Letzte Antwort
                      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 Offline
                        Ben1983B Offline
                        Ben1983
                        schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                        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
                          schrieb am zuletzt editiert von
                          #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 9.1.1 LXC|8 GB|Core i7-6700
                          HmIP|ZigBee|Tasmota|Unifi
                          Zabbix Certified Specialist
                          Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                          1 Antwort Letzte Antwort
                          0
                          • Ben1983B Offline
                            Ben1983B Offline
                            Ben1983
                            schrieb am zuletzt editiert von
                            #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 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

                            739

                            Online

                            32.4k

                            Benutzer

                            81.5k

                            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