Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Alter berechnen

    NEWS

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    Alter berechnen

    This topic has been deleted. Only users with topic management privileges can see it.
    • mickym
      mickym Most Active @David G. last edited by mickym

      @david-g Ich hab Dir doch ein Thread gepostet, wo ich moments eingebunden habe und nun hat dort @OliverIO es noch mal gemacht. Du musst es doch nur importieren. Und der Code zumindest in meiner version ist, dass automatisch wenn Du bei Ende Datum nichts eingibst, das aktuelle Datum automatisch genommen wird.

      Um eine Differenz zu berechnen, brauchst Du 2 Datums. Und auch in Deinem Code, wird doch automatisch das heutige Datum gesetzt.

      var b = moment();
      
      David G. 1 Reply Last reply Reply Quote 0
      • David G.
        David G. @mickym last edited by

        Da hab ich es gefunden.
        Hab den Wald vor lauter Baumen nicht gesehen.

        Erst mit duration, dann mit moments und dann in zig Varianten.
        Danke für "anstupser".

        mickym 1 Reply Last reply Reply Quote 0
        • mickym
          mickym Most Active @David G. last edited by mickym

          @david-g Wenn Du das Blockly von @OliverIO nimmst und ich den Geburtstag deines Kindes.

          b918b55a-a21c-4642-b473-82770da72c02-image.png

          und ich das teste mit dem 4.8.2022 kommen genau 4 Jahre raus.

          Wenn Du bei Ende nichts eingibst - sein Alter auf den Tag genau für heute.

          Also 3 Jahre 11 Monate und 22 Tage

          Bei dem Code ist halt moment a das Enddatum.

          OliverIO 1 Reply Last reply Reply Quote 0
          • OliverIO
            OliverIO @mickym last edited by

            @mickym

            Sorry hätte das Beispiel hier rein kopieren müssen
            Und nicht in den andere älteren thread

            1 Reply Last reply Reply Quote 0
            • David G.
              David G. last edited by

              Hey,

              melde mich nach ewigen nochmal zu dem Thread.
              Ich wollte das Blockly jetzt anstatt zum berechnen des Alters zum errechnen eines Countdowns bis zum Geburtstag verwenden.

              Bei Start das aktuelle Datum rein und bei Ende den Geburtstag.

              Allerdings liege ich dort daneben.
              Kann ich die Funktion für die "Richtung" nicht nehmen? Oder habe ich einen Fehler beim nachrechnen?

              Von heute dem 16.6 bis zum 6.8 komme ich auf 1 Monat und 20 Tage.
              Hab es mii hier mal visualisiert. An welchem Tag er wie viele Tage anzeigen müsste:

              06.08.2023	0 Geburtstag 
              05.08.2023	1
              04.08.2023	2
              03.08.2023	3
              02.08.2023	4
              01.08.2023	5
              31.07.2023	
              30.07.2023	
              29.07.2023	
              28.07.2023	
              27.07.2023	
              26.07.2023	
              25.07.2023	
              24.07.2023	
              23.07.2023	
              22.07.2023	
              21.07.2023	
              20.07.2023	
              19.07.2023	
              18.07.2023	
              17.07.2023	
              16.07.2023	
              15.07.2023	
              14.07.2023	
              13.07.2023	
              12.07.2023	
              11.07.2023	
              10.07.2023	
              09.07.2023	
              08.07.2023	
              07.07.2023	
              06.07.2023	
              05.07.2023	
              04.07.2023	
              03.07.2023	
              02.07.2023	
              01.07.2023	
              30.06.2023	6
              29.06.2023	7
              28.06.2023	8
              27.06.2023	9
              26.06.2023	10
              25.06.2023	11
              24.06.2023	12
              23.06.2023	13
              22.06.2023	14
              21.06.2023	15
              20.06.2023	16
              19.06.2023	17
              18.06.2023	18
              17.06.2023	19
              16.06.2023	20
              

              Beim Skript komme ich jedoch auf 21 Tage.

              sten-tor 1 Reply Last reply Reply Quote 0
              • sigi234
                sigi234 Forum Testing Most Active @David G. last edited by

                @david-g

                Wäre das was für dich?

                https://github.com/klein0r/ioBroker.birthdays

                David G. 1 Reply Last reply Reply Quote 1
                • David G.
                  David G. @sigi234 last edited by

                  @sigi234

                  Den hab ich sogar schon drauf ^^.
                  Der Adapter bietet die Werte aber nicht in der Form aufbereitet.

                  sigi234 1 Reply Last reply Reply Quote 0
                  • sigi234
                    sigi234 Forum Testing Most Active @David G. last edited by

                    @david-g sagte in Alter berechnen:

                    @sigi234

                    Den hab ich sogar schon drauf ^^.
                    Der Adapter bietet die Werte aber nicht in der Form aufbereitet.

                    Ev. kann dir @haus-automatisierung das im Adapter einbauen?

                    haus-automatisierung 1 Reply Last reply Reply Quote 1
                    • haus-automatisierung
                      haus-automatisierung Developer Most Active @sigi234 last edited by

                      @sigi234 Kann ich gern machen

                      David G. 1 Reply Last reply Reply Quote 2
                      • David G.
                        David G. @haus-automatisierung last edited by David G.

                        @haus-automatisierung

                        Das wäre cool.
                        Part 1 hab ich zwar schon in einem Blockly, jedoch wären (beide Parts) starke Ergänzungen im Adapter.

                        Die Visu zB für meinen Sohn zeigt zB:
                        Alter
                        4 Jahre 10 Monate 10 Tage
                        Geburtstag in
                        1 Monat 19 Tage 15 Stunden 34 Minuten 22 Sekunden (Wobei es eigentlich auf den Tag reicht ^^)

                        EDIT:

                        So berechne ich im Moment das Alter:

                        var moment = require( "moment");
                         
                        var b = new moment(Anfang,"DD.MM.YYYY");
                        var a = Ende ? moment(Ende,"DD.MM.YYYY") : new moment();
                        
                        var years = a.diff(b, 'year');
                        b.add(years, 'years');
                        
                        var months = a.diff(b, 'months');
                        b.add(months, 'months');
                        
                        var days = a.diff(b, 'days');
                        
                         return years + ' Jahre ' + months + ' Monate ' + days + ' Tage';
                        

                        Screenshot 2023-06-16 082938.png

                        Und so die Zeit bis zum Geburtstag.
                        Allerdings nicht im ioBroker. Das hab ich so in einer Widgetapp am Androidsmartphone (bekomme ich auch nicht an den ioBroker gesendet).

                        $lv(#,8M6d)+
                         lv(#,##+0h0m0sr1d)+
                         (df(M,##)-df(M)-(df(d)>df(d,##))+12)%12$M $
                         df(d,##)+if(df(d,##)>=df(d),-df(d),tf(1da1M,D))$D $
                         tf(##+a2d,"h'H' m'M' s'S'")$
                        
                        

                        Das kapiere ich aber nicht 😄
                        Hat mir auf Discord jmd im KWGT Channel erstellt.

                        haus-automatisierung OliverIO 2 Replies Last reply Reply Quote 0
                        • haus-automatisierung
                          haus-automatisierung Developer Most Active @David G. last edited by

                          @david-g sagte in Alter berechnen:

                          1 Monat 19 Tage 15 Stunden 34 Minuten 22 Sekunden (Wobei es eigentlich auf den Tag reicht ^^)

                          Minuten und Sekunden geht ja eh nicht - sonst müsste ich den Adapter ja nur dafür auf Daemon umstellen und den Datenpunkt ständig aktualisieren.

                          Ich habe gerade Version 2.3.0 veröffentlicht

                          David G. 1 Reply Last reply Reply Quote 0
                          • OliverIO
                            OliverIO @David G. last edited by

                            @david-g
                            Der Adapter MyTime hat ein Count-down Widget,
                            Das beliebig konfiguriert werden kann

                            1 Reply Last reply Reply Quote 0
                            • David G.
                              David G. @haus-automatisierung last edited by

                              @haus-automatisierung

                              Sehr cool, danke.

                               "currentAgeText": "59 years, 11 months and 9 days"
                              

                              2 Fragen.

                              • Denkst du den "countdown" kann man auch einbauen?
                              • Kann man years usw auch in deutsch machen? Ggf in den Settings einstellbar

                              @oliverio sagte in Alter berechnen:

                              @david-g
                              Der Adapter MyTime hat ein Count-down Widget,
                              Das beliebig konfiguriert werden kann

                              Das bekomme ich in dem Adapter irgendwie nicht hin.....
                              Das Jahr ändert sich ja auch regelmäßig.

                              haus-automatisierung OliverIO 2 Replies Last reply Reply Quote 0
                              • haus-automatisierung
                                haus-automatisierung Developer Most Active @David G. last edited by

                                @david-g sagte in Alter berechnen:

                                Kann man years usw auch in deutsch machen? Ggf in den Settings einstellbar

                                Richtig, ist bereits in den Settings des Adapters konfigurierbar.

                                David G. 1 Reply Last reply Reply Quote 0
                                • OliverIO
                                  OliverIO @David G. last edited by OliverIO

                                  @david-g sagte in Alter berechnen:

                                  Das Jahr ändert sich ja auch regelmäßig

                                  ah ja, vergessen zu erwähnen. über die eingabe eines befehls in einem datenpunkt kann man den countdown timer direkt auf ein zieldatum setzen, dann berechnet er alles selber

                                  einfach das datum als iso-datum angeben
                                  https://github.com/oweitman/ioBroker.mytime#available-commands-for-the-cmd-datapoint

                                  also workflow ist,
                                  in den einstellungen irgeneinen neuen timer anlegen. dadurch werden die datenpunkte angelegt. dann im objektbaum in den datenpunkt cmd deines timers dann bspw

                                  #2000-02-01T10:00:00
                                  

                                  für das Datum nach deutscher schreibweise
                                  1.2.2000, 10 Uhr

                                  eingeben

                                  1 Reply Last reply Reply Quote 0
                                  • David G.
                                    David G. @haus-automatisierung last edited by David G.

                                    @haus-automatisierung sagte in Alter berechnen:

                                    @david-g sagte in Alter berechnen:

                                    Kann man years usw auch in deutsch machen? Ggf in den Settings einstellbar

                                    Richtig, ist bereits in den Settings des Adapters konfigurierbar.

                                    Oh, Augen auf .........
                                    Der Countdown im Adapter wäre schon was feines.

                                    @oliverio sagte in Alter berechnen:

                                    @david-g sagte in Alter berechnen:

                                    Das Jahr ändert sich ja auch regelmäßig

                                    ah ja, vergessen zu erwähnen. über die eingabe eines befehls in einem datenpunkt kann man den countdown timer direkt auf ein zieldatum setzen, dann berechnet er alles selber

                                    einfach das datum als iso-datum angeben
                                    https://github.com/oweitman/ioBroker.mytime#available-commands-for-the-cmd-datapoint

                                    also workflow ist,
                                    in den einstellungen irgeneinen neuen timer anlegen. dadurch werden die datenpunkte angelegt. dann im objektbaum in den datenpunkt cmd deines timers dann bspw

                                    #2000-02-01T10:00:00
                                    

                                    für das Datum nach deutscher schreibweise
                                    1.2.2000, 10 Uhr

                                    eingeben

                                    Hm, irgendwie bekomme ich immer einen weißen Einstellungsbildschirm, wenn ich ein Datum bei den Timern eingeben möchte. Egal ob von Hand oder dem Kalender.

                                    Animation.gif

                                    Wenn ich es denn dann schaffe, müsste ich also für jeden Geb ein Skript schreiben was am Tag vom Geb den Timer neu setzt?

                                    OliverIO 1 Reply Last reply Reply Quote 0
                                    • OliverIO
                                      OliverIO @David G. last edited by OliverIO

                                      @david-g

                                      nein nicht ganz

                                      1. mytime adapter konfiguration öffnen
                                      2. countdown tab wählen (nicht time series, das ist eine andere funktionalität)
                                      3. einen neuen timer anlegen, name bspw "abc", zeitdaten sind egal, einfach anlegen
                                      4. dann adapter einstellungen speichern und schließen
                                      5. dann den iobroker objeke/tab öffnen
                                      6. dort den Ast mytime.0 suchen und erweitern
                                      7. darunter müsste dann ein knotenpunkt mit dem namen "abc" auftauchen
                                      8. auch den erweitern
                                      9. darunter findest du nun den datenpunkt mit dem namen "cmd"
                                      10. dort reinklicken, ein eingabefenster öffnet sich
                                      11. dort den folgenden befehl eingeben -> nächste Zeile
                                        #2025-01-01T10:00:00
                                      12. eingabefenster bestätigen und speichern
                                      13. nochmal in cmd klicken und folgendes eingeben
                                        start
                                      14. eingabefenster bestätigen und speichern
                                      15. vis öffnen
                                      16. in das widget suchfenster mytime eingeben
                                      17. dann daswidget mytime countdown plain auswählen und in den viewbereich ziehen mit dragNdrop
                                      18. in der widget einstellung bei countdown_oid den timerdatenpunkt auswählen. also bspw
                                        mytime.0.countdown.abc.timer
                                      19. dann müsste der countdown bis zum eingegebenen termin angezeigt und direkt runtergezählt werden
                                      1 Reply Last reply Reply Quote 0
                                      • sten-tor
                                        sten-tor @David G. last edited by

                                        @david-g sagte in Alter berechnen:

                                        Beim Skript komme ich jedoch auf 21 Tage.

                                        ...was meines Erachtens auch stimmt. Vom 16.6. bis 16.7. ist es 1 Monat. Und dann muss dein Sohnemann noch 21 Tage auf seinen Geburtstag warten. Geh das gern mal auf einem Kalender durch. Oder auch hier nachzuvollziehen: https://www.timeanddate.de/datum/zeitspanne-ergebnis?d1=16&m1=6&y1=2023&d2=06&m2=08&y2=2023

                                        David G. 1 Reply Last reply Reply Quote 0
                                        • sten-tor
                                          sten-tor @David G. last edited by

                                          @david-g sagte in Alter berechnen:

                                          Hat jemand eine Idee woran das liegt?

                                          Zu deinem alten Post vom letzten Jahr: Da hast du bestimmt einen Dreher in deinem Funktionsaufruf drin. Denn in meiner Originalversion stimmts:
                                          IMG_20230617_002404.jpg

                                          1 Reply Last reply Reply Quote 0
                                          • David G.
                                            David G. @sten-tor last edited by David G.

                                            @sten-tor

                                            Habe ich hier dann einen Fehler für die anzuzeigenden Tage (Den Monat habe ich nicht gezahlt, eben 1 Monat)?

                                            Datum.           Tage verbleibend 
                                            
                                            06.08.2023	0 Geburtstag 
                                            05.08.2023	1
                                            04.08.2023	2
                                            03.08.2023	3
                                            02.08.2023	4
                                            01.08.2023	5
                                            31.07.2023	
                                            30.07.2023	
                                            29.07.2023	
                                            28.07.2023	
                                            27.07.2023	
                                            26.07.2023	
                                            25.07.2023	
                                            24.07.2023	
                                            23.07.2023	
                                            22.07.2023	
                                            21.07.2023	
                                            20.07.2023	
                                            19.07.2023	
                                            18.07.2023	
                                            17.07.2023	
                                            16.07.2023	
                                            15.07.2023	
                                            14.07.2023	
                                            13.07.2023	
                                            12.07.2023	
                                            11.07.2023	
                                            10.07.2023	
                                            09.07.2023	
                                            08.07.2023	
                                            07.07.2023	
                                            06.07.2023	
                                            05.07.2023	
                                            04.07.2023	
                                            03.07.2023	
                                            02.07.2023	
                                            01.07.2023	
                                            30.06.2023	6
                                            29.06.2023	7
                                            28.06.2023	8
                                            27.06.2023	9
                                            26.06.2023	10
                                            25.06.2023	11
                                            24.06.2023	12
                                            23.06.2023	13
                                            22.06.2023	14
                                            21.06.2023	15
                                            20.06.2023	16
                                            19.06.2023	17
                                            18.06.2023	18
                                            17.06.2023	19
                                            16.06.2023	20
                                            

                                            @sten-tor sagte in Alter berechnen:

                                            @david-g sagte in Alter berechnen:

                                            Hat jemand eine Idee woran das liegt?

                                            Zu deinem alten Post vom letzten Jahr: Da hast du bestimmt einen Dreher in deinem Funktionsaufruf drin. Denn in meiner Originalversion stimmts:
                                            IMG_20230617_002404.jpg

                                            Beim Alter kommt es hin, aber nicht bei der Zeit von heute bis zum Geburtstag.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            950
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            10
                                            57
                                            3776
                                            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