Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. [gelöst] Javascript verwendet falsches Datum

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.9k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    910

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

[gelöst] Javascript verwendet falsches Datum

Scheduled Pinned Locked Moved Blockly
17 Posts 4 Posters 1.0k Views 3 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • A AchimKa

    Ich habe jetzt schon einige Zeit über die Suche versucht, die Lösung für mein Problem zu finden, aber ohne Erfolg. Deshalb muss ich es doch mit einer eigenen Frage versuchen:

    Ich habe heute festgestellt, dass Javascript mit der falschen Zeit zu arbeiten scheint.
    Wenn ich folgendes Testscript ausführe, erscheint im Protokoll die UTC Zeit.

    log(new Date());
    

    Logeintrag:

    036F8294-A3C0-4107-AC06-3BC6F497949C_4_5005_c.jpeg

    der ioBroker läuft auf einem Raspberry Pi 5. Die Zeitzone ist korrekt auf Vienna eingestellt:

    89A342E7-77CD-44B6-9FA6-86BD50B0477B.jpeg

    Gibt es etwas, das ich übersehen habe?

    LG, Achim

    ArmilarA Offline
    ArmilarA Offline
    Armilar
    Most Active Forum Testing
    wrote on last edited by Armilar
    #3

    @achimka sagte in Javascript verwendet falsches Datum:

    log(new Date());

    log(new Date().toLocaleString("de-DE", {timeZone: "Europe/Berlin"}));
    

    Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
    https://github.com/joBr99/nspanel-lovelace-ui/wiki

    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

    A 1 Reply Last reply
    0
    • ArmilarA Armilar

      @achimka sagte in Javascript verwendet falsches Datum:

      log(new Date());

      log(new Date().toLocaleString("de-DE", {timeZone: "Europe/Berlin"}));
      
      A Offline
      A Offline
      AchimKa
      wrote on last edited by AchimKa
      #4

      @armilar Das Problem ist folgendes:

      Alle Zeitberechnungen sind um 2 Stunden verschoben. Wenn ich ein Datum ohne Uhrzeit konvertiere, wird nicht 0:00 Uhr, sondern 2:00 Uhr ausgegeben:

      1D26A398-6A01-476A-8612-F1D2FFFFA8F9.jpeg

      Ergebnis im Protokoll:

      03F4F99E-8C6F-4680-A2BE-81B5625EF3D0_4_5005_c.jpeg

      Dementsprechend sind auch alle Zeitfensterberechnungen, die ich im Anschluss durchführen möchte, fehlerhaft.

      ArmilarA 1 Reply Last reply
      0
      • crunchipC crunchip

        @achimka sagte in Javascript verwendet falsches Datum:

        Gibt es etwas, das ich übersehen habe?

        frisch eingerichtet? mal neu gestartet?

        edit
        weil ichs bei mir grad selbst getestet hab, bei mir wird auch utc gezeigt
        aber
        hab dann das gefunden, könnte auch am Browser liegen, siehe
        https://213.136.68.177/post/453247

        A Offline
        A Offline
        AchimKa
        wrote on last edited by
        #5

        @crunchip sagte in Javascript verwendet falsches Datum:

        @achimka sagte in Javascript verwendet falsches Datum:

        Gibt es etwas, das ich übersehen habe?

        frisch eingerichtet? mal neu gestartet?

        edit
        weil ichs bei mir grad selbst getestet hab, bei mir wird auch utc gezeigt
        aber
        hab dann das gefunden, könnte auch am Browser liegen, siehe
        https://213.136.68.177/post/453247

        Neu gestartet: ja
        Alle Upgrades im OS eingespielt: auch ja

        Inwieweit das am Browser liegen soll, ist mir unklar. Die Berechnung wird doch auf dem Raspi ausgeführt, oder?

        1 Reply Last reply
        0
        • A AchimKa

          @armilar Das Problem ist folgendes:

          Alle Zeitberechnungen sind um 2 Stunden verschoben. Wenn ich ein Datum ohne Uhrzeit konvertiere, wird nicht 0:00 Uhr, sondern 2:00 Uhr ausgegeben:

          1D26A398-6A01-476A-8612-F1D2FFFFA8F9.jpeg

          Ergebnis im Protokoll:

          03F4F99E-8C6F-4680-A2BE-81B5625EF3D0_4_5005_c.jpeg

          Dementsprechend sind auch alle Zeitfensterberechnungen, die ich im Anschluss durchführen möchte, fehlerhaft.

          ArmilarA Offline
          ArmilarA Offline
          Armilar
          Most Active Forum Testing
          wrote on last edited by Armilar
          #6

          @achimka

          ist der Datenpunkt vom Typ Date oder String?

          4028b539-d012-465a-836f-91b0e321a7a2-image.png

          Ansonsten kurz die Objektdaten posten

          Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
          https://github.com/joBr99/nspanel-lovelace-ui/wiki

          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

          A 1 Reply Last reply
          0
          • ArmilarA Armilar

            @achimka

            ist der Datenpunkt vom Typ Date oder String?

            4028b539-d012-465a-836f-91b0e321a7a2-image.png

            Ansonsten kurz die Objektdaten posten

            A Offline
            A Offline
            AchimKa
            wrote on last edited by
            #7

            @armilar sagte in Javascript verwendet falsches Datum:

            Ansonsten kurz die Objektdaten posten

            {
              "common": {
                "name": "Batterie Netzladung manuell am",
                "desc": "Manuell erzeugt",
                "role": "state",
                "type": "number",
                "read": true,
                "write": true,
                "def": 0
              },
              "type": "state",
              "native": {},
              "from": "system.adapter.admin.0",
              "user": "system.user.admin",
              "ts": 1727883852771,
              "_id": "0_userdata.0.Einstellungen.Batterie_Netzladung_manuell_am",
              "acl": {
                "object": 1636,
                "state": 1636,
                "owner": "system.user.admin",
                "ownerGroup": "system.group.administrator"
              }
            }
            
            ArmilarA 1 Reply Last reply
            0
            • A AchimKa

              @armilar sagte in Javascript verwendet falsches Datum:

              Ansonsten kurz die Objektdaten posten

              {
                "common": {
                  "name": "Batterie Netzladung manuell am",
                  "desc": "Manuell erzeugt",
                  "role": "state",
                  "type": "number",
                  "read": true,
                  "write": true,
                  "def": 0
                },
                "type": "state",
                "native": {},
                "from": "system.adapter.admin.0",
                "user": "system.user.admin",
                "ts": 1727883852771,
                "_id": "0_userdata.0.Einstellungen.Batterie_Netzladung_manuell_am",
                "acl": {
                  "object": 1636,
                  "state": 1636,
                  "owner": "system.user.admin",
                  "ownerGroup": "system.group.administrator"
                }
              }
              
              ArmilarA Offline
              ArmilarA Offline
              Armilar
              Most Active Forum Testing
              wrote on last edited by Armilar
              #8

              @achimka

              huch - warum number?

              ändere den mal auf String, wenn der nur das Datum hat...

              siehe:
              9165b96c-e87d-4e63-85e5-15d3f21319ce-image.png

              499546ba-7b5f-49d4-b729-d515f9df0db5-image.png

              oder direkt in Date...

              number müsste doch in der Form Warnungen im Log bringen...

              Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
              https://github.com/joBr99/nspanel-lovelace-ui/wiki

              Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

              A 2 Replies Last reply
              0
              • ArmilarA Armilar

                @achimka

                huch - warum number?

                ändere den mal auf String, wenn der nur das Datum hat...

                siehe:
                9165b96c-e87d-4e63-85e5-15d3f21319ce-image.png

                499546ba-7b5f-49d4-b729-d515f9df0db5-image.png

                oder direkt in Date...

                number müsste doch in der Form Warnungen im Log bringen...

                A Offline
                A Offline
                AchimKa
                wrote on last edited by
                #9

                @armilar sagte in Javascript verwendet falsches Datum:

                @achimka

                huch - warum number?

                ändere den mal auf String, wenn der nur das Datum hat...

                Ich hab den Datentyp jetzt auf String geändert und das Datum über mein VIS-Frontend auf 3.10.2024 geändert. Ausgabe im Protokoll wieder um 2 Stunden verschoben:

                3E917F8F-E23C-4037-AE8D-FF0C37A205C0.jpeg

                270FE5E7-EC7F-4273-A638-ED5DFD3CFA3B.jpeg

                C131DE68-2493-4421-924C-76CFE397A75C.jpeg

                1 Reply Last reply
                0
                • ArmilarA Armilar

                  @achimka

                  huch - warum number?

                  ändere den mal auf String, wenn der nur das Datum hat...

                  siehe:
                  9165b96c-e87d-4e63-85e5-15d3f21319ce-image.png

                  499546ba-7b5f-49d4-b729-d515f9df0db5-image.png

                  oder direkt in Date...

                  number müsste doch in der Form Warnungen im Log bringen...

                  A Offline
                  A Offline
                  AchimKa
                  wrote on last edited by
                  #10

                  @armilar sagte in Javascript verwendet falsches Datum:

                  number müsste doch in der Form Warnungen im Log bringen...

                  Ich setze das Datum in VIS über ctrl - Input Date. Ich ging davon aus, dass dann der Unix-Timestamp für 00:00:00 gespeichert wird und man direkt damit rechnen kann. Deswegen der Versuch mit Number. Aber wie du siehst, führt auch Text zum gleichen (falschen) Ergebnis.

                  ArmilarA 1 Reply Last reply
                  0
                  • A AchimKa

                    @armilar sagte in Javascript verwendet falsches Datum:

                    number müsste doch in der Form Warnungen im Log bringen...

                    Ich setze das Datum in VIS über ctrl - Input Date. Ich ging davon aus, dass dann der Unix-Timestamp für 00:00:00 gespeichert wird und man direkt damit rechnen kann. Deswegen der Versuch mit Number. Aber wie du siehst, führt auch Text zum gleichen (falschen) Ergebnis.

                    ArmilarA Offline
                    ArmilarA Offline
                    Armilar
                    Most Active Forum Testing
                    wrote on last edited by
                    #11

                    @achimka

                    Stimmt, wie soll das denn weiterverarbeitet werden?

                    Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
                    https://github.com/joBr99/nspanel-lovelace-ui/wiki

                    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                    A 1 Reply Last reply
                    0
                    • ArmilarA Armilar

                      @achimka

                      Stimmt, wie soll das denn weiterverarbeitet werden?

                      A Offline
                      A Offline
                      AchimKa
                      wrote on last edited by
                      #12

                      @armilar sagte in Javascript verwendet falsches Datum:

                      @achimka

                      Stimmt, wie soll das denn weiterverarbeitet werden?

                      Es geht um die geplante Ladung meiner PV-Batterie aus dem Netz bei flexiblem Stromtarif. Deswegen habe ich eine Datumsangabe, einen Startzeitpunkt in vollen Stunden, aus dem ich dann einen vollständigen Timestamp zusammensetzen möchte, und eine Ladedauer in vollen Stunden.

                      7194D54C-65E0-4F35-9452-52BE18A73E74_4_5005_c.jpeg

                      Wenn Ladedatum jetzt tatsächlich 00:00:00 Uhr wäre, dann könnte ich so meinen Startzeitpunkt errechnen:

                      FA5A28E0-F929-42E8-ABC6-957E2C5B1E32_4_5005_c.jpeg

                      Nur leider ist mein errechneter Startzeitpunkt zwei Stunden zu spät!

                      ArmilarA paul53P 2 Replies Last reply
                      0
                      • A AchimKa

                        @armilar sagte in Javascript verwendet falsches Datum:

                        @achimka

                        Stimmt, wie soll das denn weiterverarbeitet werden?

                        Es geht um die geplante Ladung meiner PV-Batterie aus dem Netz bei flexiblem Stromtarif. Deswegen habe ich eine Datumsangabe, einen Startzeitpunkt in vollen Stunden, aus dem ich dann einen vollständigen Timestamp zusammensetzen möchte, und eine Ladedauer in vollen Stunden.

                        7194D54C-65E0-4F35-9452-52BE18A73E74_4_5005_c.jpeg

                        Wenn Ladedatum jetzt tatsächlich 00:00:00 Uhr wäre, dann könnte ich so meinen Startzeitpunkt errechnen:

                        FA5A28E0-F929-42E8-ABC6-957E2C5B1E32_4_5005_c.jpeg

                        Nur leider ist mein errechneter Startzeitpunkt zwei Stunden zu spät!

                        ArmilarA Offline
                        ArmilarA Offline
                        Armilar
                        Most Active Forum Testing
                        wrote on last edited by
                        #13

                        @achimka

                        0dfdbda6-567a-4671-893e-f6feb648bdab-image.png

                        Was passiert, wenn du die 2 Stunden so subtrahierst?

                        Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
                        https://github.com/joBr99/nspanel-lovelace-ui/wiki

                        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                        A paul53P 2 Replies Last reply
                        0
                        • ArmilarA Armilar

                          @achimka

                          0dfdbda6-567a-4671-893e-f6feb648bdab-image.png

                          Was passiert, wenn du die 2 Stunden so subtrahierst?

                          A Offline
                          A Offline
                          AchimKa
                          wrote on last edited by AchimKa
                          #14

                          @armilar sagte in Javascript verwendet falsches Datum:

                          Was passiert, wenn du die 2 Stunden so subtrahierst?

                          Das wird vermutlich schon funktionieren, allerdings nur bis Ende Oktober. Mit Beginn der Winterzeit wird sich der Abstand auf eine Stunde reduzieren.

                          Ich werde jetzt versuchen, das Startdatum anders zusammenzusetzen. Allerdings würde ich schon gerne verstehen, was die Ursache für die Datumsabweichung ist. Ich wundere mich, dass es nicht mehr Meldungen zu diesem Problem gibt. Im Grunde simple Zeitschaltfunktionen werden so unnötig kompliziert.

                          1 Reply Last reply
                          0
                          • ArmilarA Armilar

                            @achimka

                            0dfdbda6-567a-4671-893e-f6feb648bdab-image.png

                            Was passiert, wenn du die 2 Stunden so subtrahierst?

                            paul53P Offline
                            paul53P Offline
                            paul53
                            wrote on last edited by paul53
                            #15

                            @armilar sagte: Was passiert, wenn du die 2 Stunden so subtrahierst?

                            Das Format "2.10.2024" funktioniert nicht, denn es wird falsch interpretiert (Monat als Tag und umgekehrt). Außerdem muss eine Uhrzeit mitgegeben werden, da sonst 0:00 Uhr UTC verwendet wird.
                            So erfolgt die richtige Auswertung:

                            Blockly_temp.JPG

                            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                            Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                            1 Reply Last reply
                            2
                            • A AchimKa

                              @armilar sagte in Javascript verwendet falsches Datum:

                              @achimka

                              Stimmt, wie soll das denn weiterverarbeitet werden?

                              Es geht um die geplante Ladung meiner PV-Batterie aus dem Netz bei flexiblem Stromtarif. Deswegen habe ich eine Datumsangabe, einen Startzeitpunkt in vollen Stunden, aus dem ich dann einen vollständigen Timestamp zusammensetzen möchte, und eine Ladedauer in vollen Stunden.

                              7194D54C-65E0-4F35-9452-52BE18A73E74_4_5005_c.jpeg

                              Wenn Ladedatum jetzt tatsächlich 00:00:00 Uhr wäre, dann könnte ich so meinen Startzeitpunkt errechnen:

                              FA5A28E0-F929-42E8-ABC6-957E2C5B1E32_4_5005_c.jpeg

                              Nur leider ist mein errechneter Startzeitpunkt zwei Stunden zu spät!

                              paul53P Offline
                              paul53P Offline
                              paul53
                              wrote on last edited by
                              #16

                              @achimka sagte: Startzeitpunkt zwei Stunden zu spät!

                              Mache eine String-Verkettung aus Datum und Stunde:

                              Blockly_temp.JPG

                              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                              Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                              A 1 Reply Last reply
                              3
                              • paul53P paul53

                                @achimka sagte: Startzeitpunkt zwei Stunden zu spät!

                                Mache eine String-Verkettung aus Datum und Stunde:

                                Blockly_temp.JPG

                                A Offline
                                A Offline
                                AchimKa
                                wrote on last edited by
                                #17

                                @paul53 sagte in Javascript verwendet falsches Datum:

                                Das Format "2.10.2024" funktioniert nicht, denn es wird falsch interpretiert (Monat als Tag und umgekehrt). Außerdem muss eine Uhrzeit mitgegeben werden, da sonst 0:00 Uhr UTC verwendet wird.

                                Ja, mein Denkfehler war davon auszugehen, dass alle Datum-/Zeit-Funktionen in Javascript die lokalen Systemzeit-Einstellungen verwenden. Das tun sie offensichtlich nicht. Deshalb gebe ich bei der Umwandlung eines reinen Datums jetzt immer die Uhrzeit 00:00:00 mit. Ich teste das noch etwas aus, denke aber, dass mein Problem damit gelöst ist.

                                1 Reply Last reply
                                0
                                Reply
                                • Reply as topic
                                Log in to reply
                                • Oldest to Newest
                                • Newest to Oldest
                                • Most Votes


                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                733

                                Online

                                32.6k

                                Users

                                82.2k

                                Topics

                                1.3m

                                Posts
                                Community
                                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                ioBroker Community 2014-2025
                                logo
                                • Login

                                • Don't have an account? Register

                                • Login or register to search.
                                • First post
                                  Last post
                                0
                                • Home
                                • Recent
                                • Tags
                                • Unread 0
                                • Categories
                                • Unreplied
                                • Popular
                                • GitHub
                                • Docu
                                • Hilfe