Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Zeitumrechnung möglich? (https://www.delphipraxis.net/170599-zeitumrechnung-moeglich.html)

DeddyH 25. Sep 2012 14:08

AW: Zeitumrechnung möglich?
 
Gibt es das dort auch? AFAIK ist das eine rein europäische Erfindung.

Jonas Shinaniganz 25. Sep 2012 14:10

AW: Zeitumrechnung möglich?
 
Ich sehe auch grade noch speziell diesen Eintrag:

http://docwiki.embarcadero.com/Libra...tils.TTimeZone

Vielleicht rechnest du einfach hin und dann zurück ->,

du schaffst das schon ;)

Sir Rufo 25. Sep 2012 14:11

AW: Zeitumrechnung möglich?
 
Zitat:

Zitat von DeddyH (Beitrag 1184374)
Gibt es das dort auch? AFAIK ist das eine rein europäische Erfindung.

Diese Erfindung gab es schon, wo noch keiner was von EU wusste ;)

DeddyH 25. Sep 2012 14:13

AW: Zeitumrechnung möglich?
 
Gerade gefunden: http://www.zeitumstellung.de/zeitums...rnational.html
Zitat:

In den US-Bundesstaaten Arizona, Hawaii und Teilen von Indiana sowie in Puerto Rico, Guam, den Virgin Islands und American Samoa gibt es keine Zeitumstellung (vielen Dank an Herrn Wolfgang Buehrer/ Atlanta, für diese Info).

Jonas Shinaniganz 25. Sep 2012 14:14

AW: Zeitumrechnung möglich?
 
"No daylight saving time" Hat er doch im ersten Post geschrieben...

DeddyH 25. Sep 2012 14:16

AW: Zeitumrechnung möglich?
 
Dann hab ich das ja nur bestätigt ;). Macht die Berechnung etwas einfacher wie schon beschrieben.

nuclearping 25. Sep 2012 14:23

AW: Zeitumrechnung möglich?
 
Zitat:

Zitat von Chriscode (Beitrag 1184369)
Vielen Dank für eure Antworten.

Leider hört sich das ganze relativ kompliziert und für mich als Anfänger nahezu nicht umsetzbar an.

Gibt es keine einfachere Möglichkeit? z.B. Datum und Zeit in einen Timestamp zu konvertieren und daraus die richtige Zeit holen?

LG,
Chris

Schau dir mal StrToDateTime / TryToStrDateTime an. Dazu das Gegenstück: FormatDateTime. Kann sein, dass ich jetzt was mit PHP verwechsel, aber imho konntest du beim Datumsformat auch irgendwas mit Zeitzonen angeben. Aber wie schon gesagt ... Wahrscheinlich verwechsel ich da grad was mit PHP. :mrgreen:

DeddyH 25. Sep 2012 14:56

AW: Zeitumrechnung möglich?
 
Ich habe es nicht getestet (und evtl. auch wieder zu kompliziert gedacht), aber klappt das hier?
Delphi-Quellcode:
uses DateUtils;

function ArizonaTimeToMEZ(aDateTime: TDateTime): TDateTime;
const
  UTC_DIFF               = 7;
  SUMMERTIME_RELEVANTHOUR = 2;

  function UTCToMEZ(aDateTime: TDateTime): TDateTime;
  var
    SummerTimeStart, SummerTimeEnd: TDateTime;
    Year: word;

    function LastDayOfWeekOfMonth(Year, month: Integer; DayOfWeek: word): TDate;
    var
      temp: TDate;
    begin
      temp := IncMonth(EncodeDate(Year, month, 1));
      Result := IncDay(temp, (DayOfWeek - DayOfTheWeek(temp) + DaysPerWeek)
        mod DaysPerWeek - DaysPerWeek);
    end;

  begin
    Year := YearOf(aDateTime);
    SummerTimeStart := LastDayOfWeekOfMonth(Year, MonthMarch, DaySunday);
    SummerTimeStart := IncHour(DateOf(SummerTimeStart), SUMMERTIME_RELEVANTHOUR);
    SummerTimeEnd := LastDayOfWeekOfMonth(Year, MonthOctober, DaySunday);
    SummerTimeEnd := IncHour(DateOf(SummerTimeEnd), SUMMERTIME_RELEVANTHOUR);
    Result := aDateTime;
    if DateTimeInRange(aDateTime, SummerTimeStart, SummerTimeEnd) then
      Result := IncHour(Result);
  end;

begin
  Result := UTCToMEZ(IncHour(aDateTime, UTC_DIFF));
end;

Bummi 25. Sep 2012 15:08

AW: Zeitumrechnung möglich?
 
Liste der Anhänge anzeigen (Anzahl: 3)
Ich habe kurz eine allgemeine Klasse gebastelt, vielleicht kannst Du mit der was anfangen, gegf. musst Du sie noch etwas aufbohren.

Chriscode 25. Sep 2012 16:16

AW: Zeitumrechnung möglich?
 
Hallo nochmals,
vielen vielen Dank für die zahlreichen, schnellen und sehr hilfreichen Antworten.

Sowohl die Codelösung von DeddyH als auch die Alternative von Bummi funktionieren, ich bin zusätzlich dank Jonas Shinaniganz noch auf folgende Lösung aufmerksam geworden: http://code.google.com/p/delphi-tzdb/

Damit kann man von einer Timezone in Universalzeit und von dort in eine andere Timezone umwandeln.

Jetzt bin ich unsicher welche Lösung die "beste", also sicherste und zuverlässigste ist. Insbesondere in Bezug auf Sommer/Winterzeit und Kalenderbesonderheiten.

LG,
Chris


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:16 Uhr.
Seite 2 von 3     12 3      

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