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
    906

  • 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 Offline
    A Offline
    AchimKa
    wrote on last edited by AchimKa
    #1

    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 1 Reply Last reply
    0
    • crunchipC Away
      crunchipC Away
      crunchip
      Forum Testing Most Active
      wrote on last edited by crunchip
      #2

      @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

      umgestiegen von Proxmox auf Unraid

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

                                    693

                                    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