AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Berechnung:Ist grade Sommerzeit in einer bestimmter Zeitzone

Berechnung:Ist grade Sommerzeit in einer bestimmter Zeitzone

Ein Thema von TUX_der_Pinguin · begonnen am 24. Nov 2009 · letzter Beitrag vom 27. Nov 2009
 
TUX_der_Pinguin

Registriert seit: 1. Jun 2005
Ort: Anholt (NRW)
609 Beiträge
 
Delphi 11 Alexandria
 
#1

Berechnung:Ist grade Sommerzeit in einer bestimmter Zeitzone

  Alt 24. Nov 2009, 15:28
Hallo,

ich bin gerade dabei ein kleines Tool zu schreiben, welches mir die aktuelle Zeit an zwei Orten auf der Welt anzeigen soll.
Der 1. Ort ist klar der Standort des Rechners also quasi das hier und jetzt. Der zweite Ort soll hingegen ein beliebiger Ort sein.

Alles soweit klein Problem die aktuelle Zeit bekommt man ja Problemlos durch "Now" geliefert. Möchte ich z.b. wissen wie
spät es jetzt in Neuseeland ist, muss ich wissen bzw. angeben in welcher Zeitzone sich der Ort befindet und ob zur zeit
Sommer oder "Winterzeit" herrscht.

Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
var
  sysTime : SYSTEMTIME;
  dtRemote : TDateTime;

begin
  //Aktuelle Uhrzeit anzeigen
  lblLocalTime.Caption := FormatDateTime('hh:nn:ss', Now);

  //Aktuelle UTC Zeit ermitteln
  GetSystemTime(sysTime);

  //UTC in DateTime wandeln
  dtRemote := EncodeDateTime(sysTime.wYear, sysTime.wMonth, sysTime.wDay, sysTime.wHour, sysTime.wMinute, sysTime.wSecond, sysTime.wMillisecond);

  //Zone "UTC+12 Neuseeland - Hauptgebiet" addieren
  dtRemote := IncHour(dtRemote, 12);

  //Ortszeit Neuseeland anzeigen
  lblRemoteTime.Caption := Format('hh:nn:ss', dtRemote);
Das funktioniert soweit wunderbar, jedoch ist die Zeit falsch, da zur Zeit in Neuseeland Sommerzeit (+1 Std.) ist, müsste
ich noch eine Stunde drauf rechnen, jetzt zum großen Problem.

Gibt es eine Möglichkeit an die Informationen mit Windows Bordmitteln zu gelangen oder muss ich das selbst machen.

Ich müsste jetzt mühselig "alle" Sommerzeitregelungen aus dem Internet recherchieren und durch aufwendige If-Anweisungen
herausfinden ob in der jeweiligen Zeitzone zur Zeit Sommer oder Winterzeit/Normalzeit herrscht.


Beim Beispiel von Neuseeland wäre die Regelung wie folgt.

Sommerzeit Beginn: Letzter Sonntag vor dem 1.Oktober (27.09.09)
Sommerzeit Ende: Erster Sonntag nach dem 1.April (05.04.10)

Meine Hoffnung das es irgendwie einen Trick gibt besser an die Information zu kommen.
Das ganze ist ein Delphi 2007 Prof. Projekt und sollte ab Windows XP oder höher funktionieren.

mfg

TUX
  Mit Zitat antworten Zitat
 

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 13:43 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 by Thomas Breitkreuz