AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Wie Umstellung Sommver/Winterzeit testen?

Ein Thema von TomyN · begonnen am 4. Mär 2019 · letzter Beitrag vom 4. Mär 2019
Antwort Antwort
TomyN

Registriert seit: 8. Nov 2006
Ort: Bayreuth
292 Beiträge
 
Delphi 10.3 Rio
 
#1

AW: Wie Umstellung Sommver/Winterzeit testen?

  Alt 4. Mär 2019, 14:54
Hi,
UTC wäre gar nicht so blöde, ich müsste dann aber halt doch wieder die Werte in LocalTime ausgeben. Da sich der Offset bei einer Umstellung währende der Aufzeichnung ändert, müsste ich da genauso unterscheiden. Es geht gar nicht so sehr um die Realisierbarkeit, sondern darum, ob es irgendwie sinnvoll testbar ist.
Ich werde gleich mal schauen, ob die Software (danke für den Link) auch den korrekten Status für GetTimeZoneInformation liefert. Die wm_timeChange message kann ich zur Not ja noch 'manuell' senden...
Thomas Neumann
Meine Projekte
www.satlive.audio
www.levelcheck.de
  Mit Zitat antworten Zitat
Benutzerbild von dummzeuch
dummzeuch

Registriert seit: 11. Aug 2012
Ort: Essen
1.735 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

AW: Wie Umstellung Sommver/Winterzeit testen?

  Alt 4. Mär 2019, 14:57
Kannst du nicht einfach die Zeitsynchronisation ausschalten und dann Datum / Uhrzeit auf 5 Minuten vor dem jeweiligen Umschalt-Termin setzen?
Thomas Mueller
  Mit Zitat antworten Zitat
Schokohase
(Gast)

n/a Beiträge
 
#3

AW: Wie Umstellung Sommver/Winterzeit testen?

  Alt 4. Mär 2019, 14:57
Bei UTC ändert sich kein Offset und von jedem UTC-Zeitstempel kannst du eindeutig in jede beliebige Zeitzone umrechnen lassen. Andersherum ist das erheblich schwieriger. Darum ja auch UTC speichern.
  Mit Zitat antworten Zitat
TomyN

Registriert seit: 8. Nov 2006
Ort: Bayreuth
292 Beiträge
 
Delphi 10.3 Rio
 
#4

AW: Wie Umstellung Sommver/Winterzeit testen?

  Alt 4. Mär 2019, 15:03
Ah … also UTC mitloggen und dann jeden Wert über eine Systemfunktion in Lokale Zeit übersetzen.
Klingt nicht schlecht.
Aber, wie schon geschrieben, ist die Realisierung nicht so das Problem, sondern eher die Testbarkeit..
Thomas Neumann
Meine Projekte
www.satlive.audio
www.levelcheck.de
  Mit Zitat antworten Zitat
Schokohase
(Gast)

n/a Beiträge
 
#5

AW: Wie Umstellung Sommver/Winterzeit testen?

  Alt 4. Mär 2019, 15:17
Kleiner Test
Delphi-Quellcode:
program Project2;

{$APPTYPE CONSOLE}
{$R *.res}

uses
  System.DateUtils,
  System.SysUtils;

procedure Test;
var
  utc, lt: TDateTime;
begin
  Writeln('Winter- auf Sommerzeit');
  Writeln('----------------------');
  utc := EncodeDateTime(2019, 03, 30, 23, 00, 00, 00);
  while utc <= EncodeDateTime(2019, 3, 31, 02, 00, 00, 00) do
  begin
    lt := TTimeZone.Local.ToLocalTime(utc);
    Writeln('UTC ', FormatDateTime('dd.mm.yyyy hh:nn', utc), ' Local ', FormatDateTime('dd.mm.yyyy hh:nn', lt));
    utc := IncMinute(utc, 15);
  end;
  Writeln;
  Writeln('Sommer- auf Winterzeit');
  Writeln('----------------------');
  utc := EncodeDateTime(2019, 10, 26, 23, 00, 00, 00);
  while utc <= EncodeDateTime(2019, 10, 27, 02, 00, 00, 00) do
  begin
    lt := TTimeZone.Local.ToLocalTime(utc);
    Writeln('UTC ', FormatDateTime('dd.mm.yyyy hh:nn', utc), ' Local ', FormatDateTime('dd.mm.yyyy hh:nn', lt));
    utc := IncMinute(utc, 15);
  end;
end;

begin
  try
    Test;

  except
    on E: Exception do
      Writeln(E.ClassName, ': ', E.Message);
  end;
  Readln;
end.
Ergebnis
Code:
    Winter- auf Sommerzeit
    ----------------------
    UTC 30.03.2019 23:00 Local 31.03.2019 00:00
    UTC 30.03.2019 23:15 Local 31.03.2019 00:15
    UTC 30.03.2019 23:30 Local 31.03.2019 00:30
    UTC 30.03.2019 23:45 Local 31.03.2019 00:45
    UTC 31.03.2019 00:00 Local 31.03.2019 01:00
    UTC 31.03.2019 00:15 Local 31.03.2019 01:15
    UTC 31.03.2019 00:30 Local 31.03.2019 01:30
    UTC 31.03.2019 00:45 Local 31.03.2019 01:45
    UTC 31.03.2019 01:00 Local 31.03.2019 03:00
    UTC 31.03.2019 01:15 Local 31.03.2019 03:15
    UTC 31.03.2019 01:30 Local 31.03.2019 03:30
    UTC 31.03.2019 01:45 Local 31.03.2019 03:45
    UTC 31.03.2019 02:00 Local 31.03.2019 04:00

    Sommer- auf Winterzeit
    ----------------------
    UTC 26.10.2019 23:00 Local 27.10.2019 01:00
    UTC 26.10.2019 23:15 Local 27.10.2019 01:15
    UTC 26.10.2019 23:30 Local 27.10.2019 01:30
    UTC 26.10.2019 23:45 Local 27.10.2019 01:45
    UTC 27.10.2019 00:00 Local 27.10.2019 02:00
    UTC 27.10.2019 00:15 Local 27.10.2019 02:15
    UTC 27.10.2019 00:30 Local 27.10.2019 02:30
    UTC 27.10.2019 00:45 Local 27.10.2019 02:45
    UTC 27.10.2019 01:00 Local 27.10.2019 02:00
    UTC 27.10.2019 01:15 Local 27.10.2019 02:15
    UTC 27.10.2019 01:30 Local 27.10.2019 02:30
    UTC 27.10.2019 01:45 Local 27.10.2019 02:45
    UTC 27.10.2019 02:00 Local 27.10.2019 03:00
Der Test ist also ganz einfach
  Mit Zitat antworten Zitat
Antwort Antwort

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:51 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz