23.06.2022, 15:46
Beitrag #1
|
|
|
23.06.2022, 19:16
(Dieser Beitrag wurde zuletzt bearbeitet: 23.06.2022 19:21 von GerdW.)
Beitrag #2
|
GerdW
______________
Beiträge: 17.523
Registriert seit: May 2009
LV2019 (LV2021)
1995
DE_EN
10×××
Deutschland
|
RE: Zeitstempel berechnen

Hallo Hubert,
Zitat:Mir ist nicht klar wo die eine Stunde zu viel herkommt bzw. wo mein Denkfehler liegt.
Die eine Stunde ist die deutsche Zeitzone aka CET…
Tipp: bei Timestamps musst du IMMER daran denken, welche Darstellung/Formatierung du verwendest!
Und wenn du keine lokale Zeit (inklusive Zeitzonen-anpassung) anzeigen willst, dann solltest du nicht den Code "%<>T" verwenden, sondern "%^<>T" (wie in der Hilfe beschrieben)!
(Im IdeaExchange bei NI gibt es auch einen Vorschlag, bei Timestamps ebenfalls einen "Radix" anzuzeigen, damit man sofort zwischen UTC- und lokaler Anzeige unterscheiden kann…)
Noch ein Tipp: um eine relative Zeit (aka Zeitdifferenz) anzuzeigen, brauchst du keinen Timestamp-Indicator. Eine normale numerische Anzeige reicht völlig aus, wenn du dort dann das Format auf "%<>t" (kleines T!) umstellst:
|
|
|
24.06.2022, 10:43
Beitrag #3
|
|
|
24.06.2022, 10:55
Beitrag #4
|
GerdW
______________
Beiträge: 17.523
Registriert seit: May 2009
LV2019 (LV2021)
1995
DE_EN
10×××
Deutschland
|
RE: Zeitstempel berechnen
Hallo Hubert,
Zitat:Obwohl sich danach die Uhrzeit am PC richtig einstellt hat, rechnet LV noch mit der alten Zeit Einstellung.
Erst wenn ich LV beende und neu starte wird die Uhrzeit der Ländereinstellung übernommen.
Ja, richtig beobachtet.
Bestimmte OS-Einstellungen liest LabVIEW NUR beim Start, steht glaube ich auch irgendwo in der Anleitung.
Neben der Zeitzone betrifft das auch das Punkt/Komma in Zahlen…
|
|
|
05.07.2022, 18:38
(Dieser Beitrag wurde zuletzt bearbeitet: 05.07.2022 18:46 von GerdW.)
Beitrag #6
|
GerdW
______________
Beiträge: 17.523
Registriert seit: May 2009
LV2019 (LV2021)
1995
DE_EN
10×××
Deutschland
|
RE: Zeitstempel berechnen
Hallo Hubert,
Zitat:Die DB Abfrage verlangt, dass ich die Zeitangabe als String in einem genau definieren Format übergebe.
Dieses sieht so aus „2022-07-03T02:00:00.000Z“.
Hierzu verwende ich die LV Funktion Format Date/Time String mit dem folgenden time format string %Y-%m-%dT%H:%M:%S%3uZ.
Das Problem ist nun das die folgenden Zeitformatierung bekomme 2022-07-03T02:00:00,000Z.
LV macht das eigentlich richtig und setzt mir hier ein Komma „00,000Z“, weil die Länderspezifische Einstellung Deutschland ist.
Aber damit kann die DB nicht‘s anfangen und gibt einen Fehler aus.
Das ist ein Timestamp nach ISO8601. Sollte man überall verwenden IMHO…
Das Problem mit LabVIEW: LabVIEW kann zwar per %.;/%,; auf die Verwendung von Punkt/Komma als Dezimaltrennzeichen getrimmt werden - missachtet diese Formatcodes aber bei Timestamps. Du wirst also um ein Search&Replace nicht herumkommen…
Alternativen:
- Du stellst deinen Rechner auf die Verwendung englischer Zahlenformate um. Sollte man IMHO generell für Rechner machen, die mit wissenschaftlichen Daten oder Messgeräte zu tun haben…
- Du stellst in den LabVIEW-Optionen ein, dass LabVIEW NICHT die regionalen Einstellungen des Users verwenden soll. Dann wird generell der Punkt als Dezimaltrennzeichen verwendet…
Nachtrag:
Du weißt, was das "Z" am Ende des Timestamps bedeutet? Und du beachtest es beim Umwandeln von String <-> LV-Timestamp?
|
|
|
06.07.2022, 09:05
Beitrag #7
|
Hubert R.
LVF-Gelegenheitsschreiber
 
Beiträge: 197
Registriert seit: Jul 2011
2019 64bit
2011
DE
Deutschland
|
RE: Zeitstempel berechnen
Hallo Gerd,
dann wird mir wohl nichts anderes übrig bleiben als Search&Replace zu verwenden.
Das Z am Ende ist die Abkürzung für Zulu und bedeutet UTC.
Gruß Hubert schöne Woche noch.
|
|
|
04.08.2025, 14:09
Beitrag #8
|
martin95
LVF-Neueinsteiger
Beiträge: 2
Registriert seit: Jul 2025
2
2017
DE
|
RE: Zeitstempel berechnen
Moin Moin,
das klingt ganz so, als würde sich der Fehler aus einer doppelten Berücksichtigung der Sommerzeit oder aus einem Missverständnis bei der Zeitzonen-Konvertierung ergeben. Solche Probleme tauchen häufiger auf, wenn lokale Zeit, UTC und Sommerzeit (DST) ins Spiel kommen – gerade in automatisierten Berechnungen.
Ein hilfreiches Tool, das ich dir empfehlen kann, um solche Differenzen schnell und zuverlässig gegenzuprüfen, ist ein online Stundenrechner google danach einfach mal. Dort kannst du Start- und Enddatum mit Uhrzeit eingeben, und er zeigt dir sofort die exakte Differenz in Stunden und Minuten – ganz ohne Umrechnungsfehler.
Vielleicht hilft dir das auch, die Abweichung von einer Stunde besser einzugrenzen. Möglicherweise zieht deine Berechnung sowohl UTC+1 und zusätzlich die Sommerzeit drauf, obwohl letzteres schon im Offset berücksichtigt wurde?
Viele Grüße
|
|
|
| |