Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Datums-Format YYYYMMDD

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Datums-Format YYYYMMDD

    This topic has been deleted. Only users with topic management privileges can see it.
    • T
      Thorsten4-71 @Thomas Braun last edited by

      @thomas-braun Ich habe keine Ausgangsdaten. Ich habe unter iobroker Forum ein Skript gefunden, das schreibt mit jedoch die Daten DD.MM.YY, das schreibt mit das Datum heute, morgen und übermorgen aber im falschen Format. Ich habe das skript in YYYYMMDD geändert aber das funktionierte leider nicht.

      mickym Codierknecht 2 Replies Last reply Reply Quote 0
      • mickym
        mickym Most Active @Thorsten4-71 last edited by

        @thorsten4-71 Na dann wärs vielleicht eine Idee - das Skript zu posten - das kann man dann ggf. anpassen.

        T 2 Replies Last reply Reply Quote 0
        • T
          Thorsten4-71 @mickym last edited by

          @mickym ```
          const idHeute = 'Datum.Heute';
          const idMorgen = 'Datum.Morgen';
          const idUebermorgen = 'Datum.Uebermorgen';

          createState(idHeute, "", {type: 'string'});
          createState(idMorgen, "", {type: 'string'});
          createState(idUebermorgen, "", {type: 'string'});

          schedule('1 0 * * *', function() {
          var date = new Date();
          setState(idHeute, formatDate(date, 'DD.MM.YY'));
          setState(idMorgen, formatDate(date.setDate(date.getDate() + 1), 'DD.MM.YY'));
          setState(idUebermorgen, formatDate(date.setDate(date.getDate() + 2), 'DD.MM.YY'));
          });

          1 Reply Last reply Reply Quote 0
          • Codierknecht
            Codierknecht Developer Most Active @Thorsten4-71 last edited by

            @thorsten4-71

            function format(date) {
                return formatDate(date, 'YYYY-MM-DD').replaceAll('-', '');
            }
            
            log(format(new Date()));
            
            1 Reply Last reply Reply Quote 0
            • T
              Thorsten4-71 @mickym last edited by

              @mickym

              const idHeute = 'Datum.Heute';
              const idMorgen = 'Datum.Morgen';
              const idUebermorgen = 'Datum.Uebermorgen';
               
              createState(idHeute, "", {type: 'string'});
              createState(idMorgen, "", {type: 'string'});
              createState(idUebermorgen, "", {type: 'string'});
               
              schedule('1 0 * * *', function() {
              	var date = new Date();
              	setState(idHeute, formatDate(date, 'DD.MM.YY'));
              	setState(idMorgen, formatDate(date.setDate(date.getDate() + 1), 'DD.MM.YY'));
              	setState(idUebermorgen, formatDate(date.setDate(date.getDate() + 2), 'DD.MM.YY'));
              });
              
              
              mickym 1 Reply Last reply Reply Quote 0
              • mickym
                mickym Most Active @Thorsten4-71 last edited by mickym

                @thorsten4-71 Mit dem Code von @Codierknecht sollte es eigentlich gehen:

                bed3b325-fbad-43c3-b370-00486c474b32-image.png

                Also:

                var date = new Date();
                console.log(formatDate(date,'YYYY-MM-DD').replaceAll("-",""));
                console.log(formatDate(date.setDate(date.getDate() + 1),'YYYY-MM-DD').replaceAll("-",""));
                console.log(formatDate(date.setDate(date.getDate() + 1),'YYYY-MM-DD').replaceAll("-",""));
                

                Auf Deinen Code angewandt sollte es dann so aussehen:

                const idHeute = 'Datum.Heute';
                const idMorgen = 'Datum.Morgen';
                const idUebermorgen = 'Datum.Uebermorgen';
                 
                createState(idHeute, "", {type: 'string'});
                createState(idMorgen, "", {type: 'string'});
                createState(idUebermorgen, "", {type: 'string'});
                 
                schedule('1 0 * * *', function() {
                	var date = new Date();
                	setState(idHeute, formatDate(date, 'YYYY-MM-DD').replaceAll("-",""));
                	setState(idMorgen, formatDate(date.setDate(date.getDate() + 1),'YYYY-MM-DD').replaceAll("-",""));
                	setState(idUebermorgen, formatDate(date.setDate(date.getDate() + 1), 'YYYY-MM-DD').replaceAll("-",""));
                });
                 
                
                

                Wobei Dein Code fehlerhaft ist, da morgen in date gespeichert ist und deshalb darf man bei übermorgen nur 1 zu morgen dazuzählen.

                T 1 Reply Last reply Reply Quote 1
                • T
                  Thorsten4-71 @mickym last edited by

                  @mickym vielen Dank aber ich bekomme keine Daten
                  c9ffaf79-393b-4b3d-a7ca-d7a974807a8c-image.png

                  paul53 1 Reply Last reply Reply Quote 0
                  • paul53
                    paul53 @Thorsten4-71 last edited by

                    @thorsten4-71 sagte: ich bekomme keine Daten

                    Ist denn schon 0:01 Uhr?

                    T 1 Reply Last reply Reply Quote 1
                    • T
                      Thorsten4-71 @paul53 last edited by

                      @paul53 Sorry, kenne mich mit Skript nicht so gut aus, ok ich schaue morgen nach. Vielen Dank.

                      Codierknecht mickym 2 Replies Last reply Reply Quote 0
                      • Codierknecht
                        Codierknecht Developer Most Active @Thorsten4-71 last edited by

                        @thorsten4-71

                        Ändere doch Testweise den CRON Ausdruck zu * * * * *
                        Dann hast Du zur nächsten vollen Minute Werte.

                        1 Reply Last reply Reply Quote 0
                        • mickym
                          mickym Most Active @Thorsten4-71 last edited by

                          @thorsten4-71 Wie gesagt, Du musst den Code ändern und nur 1 zu morgen dazuzählen. Um das Ganze ohne scheduler zu testen, nimm einfach den Scheduler weg.

                          const idHeute = 'Datum.Heute';
                          const idMorgen = 'Datum.Morgen';
                          const idUebermorgen = 'Datum.Uebermorgen';
                           
                          createState(idHeute, "", {type: 'string'});
                          createState(idMorgen, "", {type: 'string'});
                          createState(idUebermorgen, "", {type: 'string'});
                           
                          
                          var date = new Date();
                          setState(idHeute, formatDate(date, 'YYYY-MM-DD').replaceAll("-",""));
                          setState(idMorgen, formatDate(date.setDate(date.getDate() + 1),'YYYY-MM-DD').replaceAll("-",""));
                          setState(idUebermorgen, formatDate(date.setDate(date.getDate() + 1), 'YYYY-MM-DD').replaceAll("-",""));
                          
                           
                           
                          
                          
                          T 1 Reply Last reply Reply Quote 1
                          • T
                            Thorsten4-71 @mickym last edited by

                            @mickym hat funktioniert, super vielen Dank an Euch Allen. Wünsch Euch einen schönen Abend.
                            67abdc67-1568-419c-8942-df8f336421d0-image.png

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

                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            634
                            Online

                            31.8k
                            Users

                            80.0k
                            Topics

                            1.3m
                            Posts

                            5
                            15
                            285
                            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