AGB  ·  Datenschutz  ·  Impressum  







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

grr.... Weltzeit Probleme...

Ein Thema von Skyruner2 · begonnen am 16. Jun 2004 · letzter Beitrag vom 16. Jun 2004
Antwort Antwort
Skyruner2

Registriert seit: 26. Okt 2003
93 Beiträge
 
Delphi 7 Professional
 
#1

grr.... Weltzeit Probleme...

  Alt 16. Jun 2004, 15:45
also ich brauche nen prog das mir sagt wie spät(stunde) es ist in der Zeitzone UTC+10. Dieses Programm soll überall auf der Welt laufen können, und gegeben das man die richtigen regional Settings hat, soll es die aktuelle stunde in UTC+10 angeben...

wie mache ich das?

ich hab’s mit TimeZoneBias versucht, aber geht irgendwie net:
time2set:=houroftheday(TimeZoneBias+(time()))+10 mit OffsetFromUTC bin ich auch nicht weiter gekommen.

  Mit Zitat antworten Zitat
shmia

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

Re: grr.... Weltzeit Probleme...

  Alt 16. Jun 2004, 16:06
Also SysUtils.Now liefert die die aktuelle lokale Systemzeit.
Wenn dir bekannt ist, dass wir in Deutschland gerade bei UTC+2 sind, dann musst du 2 Stunden
abziehen um zur UTC zu kommen:
Delphi-Quellcode:
// 2 Stunden zurück
utczeit := SysUtils.Now - 2.0*(1.0/24.0);
Auch die Datumsgrenze ist kein Problem, wenn man die Funktion Now() anstatt Time() verwendet.
Bei der Ausgabe der Zeit hast du es in der Hand, ob du nur die Uhrzeit oder auch zusätzlich das
Datum anzeigen möchtest.
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von S2B
S2B

Registriert seit: 1. Feb 2004
Ort: Aachen
1.268 Beiträge
 
#3

Re: grr.... Weltzeit Probleme...

  Alt 16. Jun 2004, 16:09
Zitat von shmia:
Also SysUtils.Now liefert die die aktuelle lokale Systemzeit.
Wenn dir bekannt ist, dass wir in Deutschland gerade bei UTC+2 sind, dann musst du 2 Stunden
abziehen um zur UTC zu kommen:
Aber dann geht das ja nicht, wenn das Programm auf einem Rechner läuft, auf dem Englische Systemzeit eingestellt ist, oder?
Simon Praetorius
Gruß
S2B
  Mit Zitat antworten Zitat
Skyruner2

Registriert seit: 26. Okt 2003
93 Beiträge
 
Delphi 7 Professional
 
#4

Re: grr.... Weltzeit Probleme...

  Alt 16. Jun 2004, 16:28
Zitat von S2B:
Zitat von shmia:
Also SysUtils.Now liefert die die aktuelle lokale Systemzeit.
Wenn dir bekannt ist, dass wir in Deutschland gerade bei UTC+2 sind, dann musst du 2 Stunden
abziehen um zur UTC zu kommen:
Aber dann geht das ja nicht, wenn das Programm auf einem Rechner läuft, auf dem Englische Systemzeit eingestellt ist, oder?
stimmt, und D is GMT bzw UTC +1.. nicht wie OffsetFromUTC ergiebt(+2)..
  Mit Zitat antworten Zitat
shmia

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

Re: grr.... Weltzeit Probleme...

  Alt 16. Jun 2004, 16:35
Zitat von S2B:
Zitat von shmia:
Also SysUtils.Now liefert die die aktuelle lokale Systemzeit.
Wenn dir bekannt ist, dass wir in Deutschland gerade bei UTC+2 sind, dann musst du 2 Stunden
abziehen um zur UTC zu kommen:
Aber dann geht das ja nicht, wenn das Programm auf einem Rechner läuft, auf dem Englische Systemzeit eingestellt ist, oder?
Klar die 2 Stunden waren ja nur als Beispiel gedacht.
Noch geschickter geht es vielleicht so:
Delphi-Quellcode:
// liefert die aktuelle Systemzeit in Coordinated Universal Time (UTC)
function NowUTC: TDateTime;
var
  SystemTime: TSystemTime;
begin
  GetSystemTime(SystemTime);
  with SystemTime do
    Result := EncodeDate(wYear, wMonth, wDay) +
      EncodeTime(wHour, wMinute, wSecond, wMilliseconds);
end;
Dann ist UTC+10 ganz leicht zu berechnen mit:
Delphi-Quellcode:
function NowUTC_TZ(timezone:integer):TDateTime;
begin
   Assert((timezone >= 12) and (timezone <= 12), 'Invalid Timezone');
   Result := NowUTC+ timezone*(1.0/24.0);
end;
Andreas
  Mit Zitat antworten Zitat
Skyruner2

Registriert seit: 26. Okt 2003
93 Beiträge
 
Delphi 7 Professional
 
#6

Re: grr.... Weltzeit Probleme...

  Alt 16. Jun 2004, 22:08
Super DANKE!!!!

habs nen bissel geändert:
Delphi-Quellcode:
        begin
          GetSystemTime(SystemTime);
          with SystemTime do
            Result := houroftheday((EncodeDate(wYear, wMonth, wDay) +
                      EncodeTime(wHour, wMinute, wSecond, wMilliseconds))+
                      11*(1.0/24.0));
        end
und funktioniert SUPER!!!!
  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 14:14 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