AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Referenz Zeitzone ohne Sommer/Winterzeit ?

Referenz Zeitzone ohne Sommer/Winterzeit ?

Ein Thema von th_bone · begonnen am 23. Mär 2005 · letzter Beitrag vom 3. Apr 2005
Antwort Antwort
th_bone

Registriert seit: 16. Jun 2004
172 Beiträge
 
Delphi 2005 Professional
 
#1

Referenz Zeitzone ohne Sommer/Winterzeit ?

  Alt 23. Mär 2005, 17:53
Hi,

mal eine Frage ist GMT Zeit eigentlich ohne Sommer-/Winterzeit ? oder gibt es eine Zeitzone die man als Referenz nehmen kann ?

Ich will daten mit einem eindeutigen Zeitstempel speichern, aber z.B. wird ja in den USA die Winter/Sommer-Zeit anderst umgestellt als bei uns ... gibts es für Zeit eine eindeutige bezugsgröße von der man einfach auf die zeit des jeweiligen landes umrechnen kann ?

Danke

Ralf
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Referenz Zeitzone ohne Sommer/Winterzeit ?

  Alt 23. Mär 2005, 18:18
Hai th_bone,

die UTC ist ohne "regionale" Zeitänderungen (Sommer-/Winterzeit).
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Benutzerbild von Binärbaum
Binärbaum

Registriert seit: 19. Jan 2005
Ort: Elstra
764 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Referenz Zeitzone ohne Sommer/Winterzeit ?

  Alt 23. Mär 2005, 18:21
Die GMT ist IMHO schon ohne Wechsel von Sommer-/Winterzeit.

MfG
Binärbaum
There are exactly 10 kinds of people: those who understand binary, and those who don't.
---
"Software reift beim Kunden. Bei Hardware ist es anders: Hardware fault beim Kunden." - Rainer G. Spallek
  Mit Zitat antworten Zitat
th_bone

Registriert seit: 16. Jun 2004
172 Beiträge
 
Delphi 2005 Professional
 
#4

Re: Referenz Zeitzone ohne Sommer/Winterzeit ?

  Alt 23. Mär 2005, 18:25
Danke für die schnelle Antwort

Ralf
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#5

Re: Referenz Zeitzone ohne Sommer/Winterzeit ?

  Alt 23. Mär 2005, 18:26
Es gibt die lokale Zeit (z.B.: GMT+1) und die Systemzeit (Coordinated Universal Time=UTC).
Die Funktion Now sieht so aus:
Delphi-Quellcode:
function Now: TDateTime;
var
  SystemTime: TSystemTime;
begin
  GetLocalTime(SystemTime); // <===
  with SystemTime do
    Result := EncodeDate(wYear, wMonth, wDay) +
      EncodeTime(wHour, wMinute, wSecond, wMilliseconds);
end;
Würde man statt GetLocalTime die Funktion GetSystemTime aufrufen, würde man die Zeit in UTC
bekommen.
Delphi-Quellcode:
function NowUTC: TDateTime;
var
  SystemTime: TSystemTime;
begin
  GetSystemTime(SystemTime); // <===
  with SystemTime do
    Result := EncodeDate(wYear, wMonth, wDay) +
      EncodeTime(wHour, wMinute, wSecond, wMilliseconds);
end;
2 Rechner (einer in Deutschland, einer in China) müssen das gleiche Ergebnis von NowUTC ekommen, wenn die Funktion gleichzeitig aufgerufen wird. (Uhrzeitfehler & Relativitättheorie mal unberücksichtigt)
Der Unterschied zwischen lokaler Zeit und UTC bekommt man mit: GetTimeZoneInformation
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Referenz Zeitzone ohne Sommer/Winterzeit ?

  Alt 24. Mär 2005, 07:43
Zitat von shmia:
...Der Unterschied zwischen lokaler Zeit und UTC bekommt man mit: GetTimeZoneInformation
Das habe ich mal in eine Funktion gepackt:
Delphi-Quellcode:
function NowUTC: TDateTime;
var
  SystemTime: TSystemTime;
begin
  GetSystemTime(SystemTime);
  Result := SystemTimeToDateTime (SystemTime);
end;

function UtcTOLocalDateTime (aUTC : TDateTime) : TDateTime;
var
  tzi : TIME_ZONE_INFORMATION;
  utc : TSystemTime;
  localtime : TSystemTime;
begin
  DateTimeToSystemTime(aUTC,utc);
  GetTimeZoneInformation(tzi);
  SystemTimeToTzSpecificLocalTime(@tzi,utc,localtime);
  Result := SystemTimeToDateTime(localtime);
end;
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Benutzerbild von hitzi
hitzi

Registriert seit: 2. Jan 2003
Ort: Eibau
768 Beiträge
 
Delphi 2010 Professional
 
#7

Re: Referenz Zeitzone ohne Sommer/Winterzeit ?

  Alt 1. Apr 2005, 14:07
Und im umgedrehten Fall so:

Delphi-Quellcode:
[...]
interface

function TzSpecificLocalTimeToSystemTime(lpTimeZoneInformation: PTimeZoneInformation;
  var lpLocalTime, lpUniversalTime: TSystemTime): BOOL; stdcall;
{$EXTERNALSYM TzSpecificLocalTimeToSystemTime}

function LocalDateTimeToUTC(aLocal : TDateTime) : TDateTime;

[...]

implementation

function TzSpecificLocalTimeToSystemTime; external kernel32 name 'TzSpecificLocalTimeToSystemTime';

function LocalDateTimeToUTC(aLocal : TDateTime) : TDateTime;
var
  tzi : TIME_ZONE_INFORMATION;
  utc : TSystemTime;
  localtime : TSystemTime;
begin
  DateTimeToSystemTime(aLocal, localtime);
  GetTimeZoneInformation(tzi);
  TzSpecificLocalTimeToSystemTime(@tzi, localtime, utc);
  Result := SystemTimeToDateTime(utc);
end;

[...]
Thomas
Besucht doch mal http://www.hitziger.net
  Mit Zitat antworten Zitat
Benutzerbild von hitzi
hitzi

Registriert seit: 2. Jan 2003
Ort: Eibau
768 Beiträge
 
Delphi 2010 Professional
 
#8

Re: Referenz Zeitzone ohne Sommer/Winterzeit ?

  Alt 3. Apr 2005, 13:11
Für TzSpecificLocalTimeToSystemTime und SystemTimeToTzSpecificLocalTime wird laut MSDN WinXP benötigt. Gibt es entsprechende Funktionen auch für Win9x, NT und 2000?
Thomas
Besucht doch mal http://www.hitziger.net
  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 10:15 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz