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.
    • Thomas Braun
      Thomas Braun Most Active @Thorsten4-71 last edited by

      @thorsten4-71

      Und die Ausgangsdaten sehen wie aus?

      T 1 Reply Last reply Reply Quote 0
      • 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

                                800
                                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