Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. [gelöst] Formatieren Datum in VIS

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [gelöst] Formatieren Datum in VIS

    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      schittl last edited by

      Hallo,

      ich weiß nicht ob ich den Wald vor lauter Bäumen nicht sehe 😄 , aber ich habe mal ne Frage.

      Ich habe ein Objekt "weatherunderground.0.forecast_day.1d.date" mit folgenden aktuellen Inhalt "07:00 PM CET am 08. Februar 2018".
      3116_wu_date.jpg

      Wie kann ich nun in VIS das Format des Datums anpassen, damit ich beispielsweise nur den Wochentag "Donnerstag" oder das deutsche Datum erhalte "08.02.18"?

      vg

      Falk

      1 Reply Last reply Reply Quote 0
      • A
        Ace-k last edited by

        ich wüsste das auch gerne.

        07:00 PM CET am 24. Februar 2018

        das wird bei mir angezeigt,

        Hätte aber gern

        Sam 24

        Gruß

        1 Reply Last reply Reply Quote 0
        • A
          Ace-k last edited by

          @schittl, hast du schon eine Lösung gefunden?

          1 Reply Last reply Reply Quote 0
          • S
            schittl last edited by

            @Ace-k:

            @schittl, hast du schon eine Lösung gefunden? ` Leider nein, hoffe immer noch auf einen Spezi der dieses beantworten kann…

            1 Reply Last reply Reply Quote 0
            • arteck
              arteck Developer Most Active last edited by

              aus dem Teil "07:00 PM CET am 08. Februar 2018" .. schätze garnicht.. bzw nicht einfach so

              musst du halt selber Hand anlegen und dir was zusammenbasteln.. per Javascript oder Blockly

              1 Reply Last reply Reply Quote 0
              • P
                pix last edited by

                @Ace-k:

                ich wüsste das auch gerne.

                07:00 PM CET am 24. Februar 2018

                das wird bei mir angezeigt,

                Hätte aber gern

                Sam 24

                Gruß `

                Hier ein Skript, hat doch etwas länger gedauert. Leider führt die ioBroker Funktion getDateObject nicht zum gewünschten Ergebnis, wenn der Monat auf deutsch kommt. Habe jetzt eine eigene Funktion gemacht.

                Alles schön dokumentiert.

                Ach, und wegen der Einfachheit geht das erstmal nur in 2018. Du wirst die Stelle im Code finden und kannst sie anpassen.

                ! /* Wunderground transfer Skript ! übersetzt die Datumsinformationen ! 02.03.2018 erstellt von pix ! */ ! const logging = true; const fC = false; const idQuelle = "weatherunderground.0.forecast_day.1d.date"/*forecast for*/; const idZiel = "javascript." + instance + ".wunderground.Tag.1"; ! createState(idZiel, " ", fC, { name: "Regen Wochentag, Tag", desc: "Extrahierte Datumsinformationen", type: "string" }); ! // konvertiert zB "März" -> "03" function convertMonat (monat) { var monat_zahl_str = ""; switch (monat) { case "Januar" : monat_zahl_str = "01"; break; case "Februar" : monat_zahl_str = "02"; break; case "März" : monat_zahl_str = "03"; break; case "April" : monat_zahl_str = "04"; break; case "Mai" : monat_zahl_str = "05"; break; case "Juni" : monat_zahl_str = "06"; break; case "Juli" : monat_zahl_str = "07"; break; case "August" : monat_zahl_str = "08"; break; case "September" : monat_zahl_str = "09"; break; case "Oktober" : monat_zahl_str = "10"; break; case "November" : monat_zahl_str = "11"; break; case "Dezember" : monat_zahl_str = "12"; break; } return (monat_zahl_str); ! } ! function writeDate (datum_string) { if (logging) log(datum_string); var datum_string_arr = datum_string.split(" PM CET am "); // Quellstring teilen bei angegebener Zeichenkette, Ergebnis in Array var uhrzeit_string = datum_string_arr[0]; var datumdeutsch_string = datum_string_arr[1]; if (logging) log(uhrzeit_string); if (logging) log(datumdeutsch_string); // 03\. März 2018 ! // " . März " rausfiltern var pattern = /\D+/g; //einer oder mehrere Nichtzahlen if (logging) log(pattern.source); var monat_teil_string = pattern.exec(datumdeutsch_string); if (logging) log(monat_teil_string.toString()); // Punkt und Leerzeichen abschneiden monat_teil_string = monat_teil_string.toString().replace(". ",""); if (logging) log("Teilstring: " + monat_teil_string); // Deutschen Monatsnamen in Zahlen (mit führender 0) wandeln var datum_monat_zahl_string = convertMonat(monat_teil_string.trim()); if (logging) log("Monat Zahl: " + datum_monat_zahl_string); ! // "Datum_Tag" var pattern2 = /\d+/; // die ersten Zahlen des Strings finden, Jahr egal var datum_tag_zahl_string = pattern2.exec(datumdeutsch_string).toString(); if (logging) log("Tag: " + datum_tag_zahl_string); log("Datum: " + datum_tag_zahl_string + "." + datum_monat_zahl_string + ".2018 " + uhrzeit_string); var datum_obj = getDateObject(datum_tag_zahl_string + "." + datum_monat_zahl_string +" " + uhrzeit_string); var datum = new Date (datum_obj); ! var wochentag_string = formatDate(datum, "WW"); var tag_string = formatDate(datum, "TT"); var ausgabe = wochentag_string + " " + tag_string; if (logging) log("Wunderground: " + ausgabe); setState(idZiel, ausgabe); } ! writeDate(getState(idQuelle).val); ! on(idQuelle, function (obj) { writeDate(obj); }); !

                Ich hoffe das klappt, denn ich kann ein paar Tage nicht helfen.

                Gruß

                Pix

                1 Reply Last reply Reply Quote 0
                • A
                  Ace-k last edited by

                  Grüß dich.

                  besten dank…. aber irgendwie stehe ich auf dem schlauch.

                  was hat das mit Regen zu tun? :shock:

                  Aber eigentlich sollte ja aus Weatherunderground-forecast_day-1d-day... das Datum geändert werden.

                  nicht was mit regen....

                  oder verstehe ich das falsch?

                  bei mir ist nun diese Anzeige...
                  2562_12.png

                  1 Reply Last reply Reply Quote 0
                  • P
                    pix last edited by

                    So bin wieder da.

                    Die Bezeichnung der Objekte ist natürlich deine Sache, schreib doch "Vorhersage" statt "Regen". Ich werde das auch nicht wieder ändern, musst du selbst machen.

                    Warum eigentlich dieser ganze Aufwand? Ich möchte gern wissen, wofür ich dir das gebastelt habe.

                    Pix

                    1 Reply Last reply Reply Quote 0
                    • A
                      Ace-k last edited by

                      Moin,

                      ich danke dir auch für da schreiben und den Aufwand…

                      es geht darum, das ich eine reine Vis erstelle für Wetter... und da soll auch eine Vorhersage vom Wetter hin, aber das sieht ja bescheiden aus wenn da

                      "07:00 PM CET am 08. Februar 2018"

                      steht.

                      deswegen Tag und Datum also zB "Do 29"

                      dafür der aufwand.

                      oder war das zu umständlich?

                      1 Reply Last reply Reply Quote 0
                      • S
                        schittl last edited by

                        @pix:

                        Hier ein Skript, hat doch etwas länger gedauert. Leider führt die ioBroker Funktion getDateObject nicht zum gewünschten Ergebnis, wenn der Monat auf deutsch kommt. Habe jetzt eine eigene Funktion gemacht. `

                        Danke für das Skript. Funktioniert. Ich dachte mir nur es geht auch auf dem einfachen Weg mit einem Widget und Datumsformatanpassung. Naja, besser es so als gar nicht ;).

                        vg

                        Falk

                        1 Reply Last reply Reply Quote 0
                        • paul53
                          paul53 last edited by

                          Etwas weniger aufwändig, aber ohne Script geht es wohl nicht:

                          var time = '07:00 PM CET am 24\. Februar 2018';
                          
                          const monate = [' ','Januar','Februar','März','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember'];
                          time = time.split(' ');
                          var date = time[6] + '-' + monate.indexOf(time[5]) + '-' + time[4];
                          date = formatDate(new Date(date), 'W DD.MM.YY');
                          log(date);
                          
                          
                          1 Reply Last reply Reply Quote 0
                          • haselchen
                            haselchen Most Active last edited by

                            Durch ausprobieren , falls es noch jemand braucht, per Blockly….

                            Hatte als Datum auch sowas krummes mit +1.00 dahinter.Obwohl Zeitzone etc. alles korrekt ist.

                            3723_unbenannt3.png

                            3723_unbenannt4.png

                            So sieht es unkonvertiert aus:

                            3723_unbenannt5.png

                            1 Reply Last reply Reply Quote 0
                            • First post
                              Last post

                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            751
                            Online

                            31.6k
                            Users

                            79.6k
                            Topics

                            1.3m
                            Posts

                            6
                            12
                            4676
                            Loading More Posts
                            • Oldest to Newest
                            • Newest to Oldest
                            • Most Votes
                            Reply
                            • Reply as topic
                            Log in to reply
                            Community
                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                            The ioBroker Community 2014-2023
                            logo