Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [GELÖST] Datum heute, morgen, übermorgen etc.

    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

    [GELÖST] Datum heute, morgen, übermorgen etc.

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

      Moin,

      ich würde gerne mir das Datum für morgen, übermorgen etc. in einem View Anzeigen lassen.

      Gefunden habe ich folgendes JS:

      var heute = new Date();

      var morgen = new Date(heute.getTime()+(1000 * 60 * 60 * 24 * 1)); // übermorgen wäre dann am Ende eine 2 anstatt 1

      alert(morgen.getDate());

      Nun meine Frage, da ich nicht wirklich weiterkomme…:

      Geht das mit dem Script? Wie binde ich es ein, als Script oder in ein Widget? Wie bekomme ich es in der View angezeigt?

      Danke euch

      und Gruß,

      Tom

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

        Moin,

        ich kann dir bei deinem Script nicht helfen, aber ist vielleicht der "Calendar Schedule" Adapter eine Möglichkeit für dich?

        1 Reply Last reply Reply Quote 0
        • T
          tempestas last edited by

          So?

          
          createState('Datum.Morgen', "");
          createState('Datum.Uebermorgen', "");
          
          var idMorgen = 'Datum.Morgen';
          var idUebermorgen = 'Datum.Uebermorgen';
          
          schedule(' 1 0 * * * ' , function(){
          
          var heute = new Date();
          var morgen = new Date(heute.getTime()+(1000 * 60 * 60 * 24 * 1)).toString(); 
          var uebermorgen = new Date(heute.getTime()+(1000 * 60 * 60 * 24 * 2)).toString(); 
          
          setState(idMorgen, morgen);
          setState(idUebermorgen, uebermorgen);
          
          });
          
          

          in Vis kannst du dann mit einem basic - string die Daten anzeigen.

          Ungetestet

          1 Reply Last reply Reply Quote 0
          • T
            tomdeboom last edited by

            Hi,

            vielen Dank tempestas, die State´s legt er an, aber er füllt sie nicht.

            Ich denke mal das ihm das Datum fehlt. Habe versucht es irgendwie zu übergeben, aber ich bekomme es nicht hin:

            // var heute = new Date();
            // var morgen = new Date(heute.getTime()+(1000 * 60 * 60 * 24 * 1)); // übermorgen wäre dann am Ende eine 2 anstatt 1
            // alert(morgen.getDate());
            
            createState('Datum.heute', "");
            createState('Datum.Morgen', "");
            createState('Datum.Uebermorgen', "");
            
            // var datum = new Date();
            // var heute = datum.getDate()+ "." + (datum.getMonth()+ 1)+"." + datum.getFullYear() ;
            
            var idheute = new Date();
            var idMorgen = 'Datum.Morgen';
            var idUebermorgen = 'Datum.Uebermorgen';
            
            schedule(' 1 0 * * * ' , function (){
            
            var heute = new Date();
            var morgen = new Date(heute.getTime()+(1000 * 60 * 60 * 24 * 1)).toString(); 
            var uebermorgen = new Date(heute.getTime()+(1000 * 60 * 60 * 24 * 2)).toString(); 
            
            setState(idheute, heute);
            setState(idMorgen, morgen);
            setState(idUebermorgen, uebermorgen);
            
            });
            

            Gruß,

            Tom

            1 Reply Last reply Reply Quote 0
            • T
              tempestas last edited by

              idHeute ist falsch

              var idheute = 'Datum.heute';
              

              muss es heißen

              Der Schedule wird immer um 1 Minute nach Mitternacht ausgeführt, da kann noch nichts befüllt sein

              1 Reply Last reply Reply Quote 0
              • T
                tomdeboom last edited by

                Oh Mann, vor lauter Bäume den Wald nicht gesehen, die Variable hatte ich auch schon so drin, aber meinst du ich hätte mir mal den cron angeschaut…. :lol:

                Also, vielen Dank für dein Hilfe!

                Gruß,

                Tom

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

                  Wenn nur das Datum angezeigt werden soll, verwendet man besser formatDate().

                  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 heute = formatDate(new Date(), 'DD.MM.YY');
                     var morgen = formatDate(new Date().getTime() + 1 * 24 * 3600000, 'DD.MM.YY');
                     var uebermorgen = formatDate(new Date().getTime() + 2 * 24 * 3600000, 'DD.MM.YY');
                     setState(idHeute, heute);
                     setState(idMorgen, morgen);
                     setState(idUebermorgen, uebermorgen);
                  });
                  
                  
                  1 Reply Last reply Reply Quote 0
                  • T
                    tomdeboom last edited by

                    Hi Paul,

                    es ist mir immer wieder eine Freude wie schnell mann hier geholfen bekommt!

                    Vielen Dank dir und tempestas und natürlich auch dir wendy.

                    Genau das ist es was ich gesucht habe Paul! Ich stelle dann mal die Frage auf GELÖST…

                    Gruß,

                    Tom

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

                      Man könnte auch mit "setDate" ohne "rumrechnen" Tage zu einem Datum hinzurechnen..

                      z.B. so:

                      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'));
                      });
                      

                      Gruß

                      1 Reply Last reply Reply Quote 0
                      • T
                        tomdeboom last edited by

                        Hi Buzzy,

                        dann wird uebermorgen aber zum 01.04.2018 und nicht zum 31.03.2018.

                        Gruß,

                        Tom

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        564
                        Online

                        31.8k
                        Users

                        80.0k
                        Topics

                        1.3m
                        Posts

                        5
                        10
                        2532
                        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