Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
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.3k

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.0k

[gelöst] Javascript verwendet falsches Datum

Geplant Angeheftet Gesperrt Verschoben Blockly
17 Beiträge 4 Kommentatoren 998 Aufrufe 3 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • 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
    schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
    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
      schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
      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
        schrieb am zuletzt editiert von
        #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 Antwort Letzte Antwort
        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
          schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
          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
            schrieb am zuletzt editiert von
            #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 Antwort Letzte Antwort
            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
              schrieb am zuletzt editiert von 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 Antworten Letzte Antwort
              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
                schrieb am zuletzt editiert von
                #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 Antwort Letzte Antwort
                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
                  schrieb am zuletzt editiert von
                  #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 Antwort Letzte Antwort
                  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
                    schrieb am zuletzt editiert von
                    #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 Antwort Letzte Antwort
                    0
                    • ArmilarA Armilar

                      @achimka

                      Stimmt, wie soll das denn weiterverarbeitet werden?

                      A Offline
                      A Offline
                      AchimKa
                      schrieb am zuletzt editiert von
                      #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 Antworten Letzte Antwort
                      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
                        schrieb am zuletzt editiert von
                        #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 Antworten Letzte Antwort
                        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
                          schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                          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
                            schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                            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
                              schrieb am zuletzt editiert von
                              #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 Antwort Letzte Antwort
                              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
                                schrieb am zuletzt editiert von
                                #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 Antwort Letzte Antwort
                                0
                                Antworten
                                • In einem neuen Thema antworten
                                Anmelden zum Antworten
                                • Älteste zuerst
                                • Neuste zuerst
                                • Meiste Stimmen


                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                310

                                Online

                                32.6k

                                Benutzer

                                82.0k

                                Themen

                                1.3m

                                Beiträge
                                Community
                                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                ioBroker Community 2014-2025
                                logo
                                • Anmelden

                                • Du hast noch kein Konto? Registrieren

                                • Anmelden oder registrieren, um zu suchen
                                • Erster Beitrag
                                  Letzter Beitrag
                                0
                                • Home
                                • Aktuell
                                • Tags
                                • Ungelesen 0
                                • Kategorien
                                • Unreplied
                                • Beliebt
                                • GitHub
                                • Docu
                                • Hilfe