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.
    • paul53
      paul53 @Thorsten4-71 last edited by

      @thorsten4-71 sagte: Datums-Format YYYYMMDD ohne Punkt oder Strich ausgibt.

      formatDate(new Date(), 'YYYY-MM-DD').replace(/-/g, '')
      
      1 Reply Last reply Reply Quote 0
      • 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

                              523
                              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