AGB  ·  Datenschutz  ·  Impressum  







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

Abweichung von UTC bekommen

Ein Thema von Andreas L. · begonnen am 24. Mai 2007 · letzter Beitrag vom 30. Mai 2007
Antwort Antwort
Seite 1 von 3  1 23      
Andreas L.
(Gast)

n/a Beiträge
 
#1

Abweichung von UTC bekommen

  Alt 24. Mai 2007, 09:54
Hi,
ich muss ein Datum + Uhrzeit in folgenden Format darstellen:

Zitat:
Format: 2005-01-08T17:10:47-05:00
-05:00 ist die Abweichung von UTC. Doch wie bekommen ich diese Abweichung?

Bisher habe ich nur folgendes:

Delphi-Quellcode:
 
var
 bla: String;
begin
 bla:= FormatDateTime('yyyy-mm-ddhh:nn:ss', Now);
 Insert('T', bla, 9);
Gibt es eine Funktion die mir diese Abweichung übergibt?
  Mit Zitat antworten Zitat
Benutzerbild von chaosben
chaosben

Registriert seit: 27. Apr 2005
Ort: Görlitz
1.358 Beiträge
 
Delphi XE2 Professional
 
#2

Re: Abweichung von UTC bekommen

  Alt 24. Mai 2007, 10:17
Zitat von Das Microsoft Platform SDK:
GetTimeZoneInformation

The GetTimeZoneInformation function retrieves the current time-zone parameters. These parameters control the translations between Coordinated Universal Time (UTC) and local time.
Benjamin Schwarze
If I have seen further it is by standing on the shoulders of Giants. (Isaac Newton)
  Mit Zitat antworten Zitat
Andreas L.
(Gast)

n/a Beiträge
 
#3

Re: Abweichung von UTC bekommen

  Alt 24. Mai 2007, 10:21
Ich habe mir das im PSDK mal angeschaut. Aber wie verwende ich das?

Zitat:
DWORD GetTimeZoneInformation(
LPTIME_ZONE_INFORMATION lpTimeZoneInformation
);
  Mit Zitat antworten Zitat
Benutzerbild von chaosben
chaosben

Registriert seit: 27. Apr 2005
Ort: Görlitz
1.358 Beiträge
 
Delphi XE2 Professional
 
#4

Re: Abweichung von UTC bekommen

  Alt 24. Mai 2007, 10:42
Z.B. so:
Delphi-Quellcode:
var
  tzi : TTimeZoneInformation;
begin
  GetTimeZoneInformation(tzi);
  MessageDlg(intToStr(tzi.Bias), mtWarning, [mbOK], 0);
end;
Benjamin Schwarze
If I have seen further it is by standing on the shoulders of Giants. (Isaac Newton)
  Mit Zitat antworten Zitat
Andreas L.
(Gast)

n/a Beiträge
 
#5

Re: Abweichung von UTC bekommen

  Alt 24. Mai 2007, 10:47
Hmm... das gibt mir jetzt -60 zurück. Also -1 Stunde. Haben wir hier in Deutschland nicht +1 Stunde?
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Abweichung von UTC bekommen

  Alt 24. Mai 2007, 10:53
Sommer- und Winterzeit berücksichtigt?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Andreas L.
(Gast)

n/a Beiträge
 
#7

Re: Abweichung von UTC bekommen

  Alt 24. Mai 2007, 10:56
Zitat von Luckie:
Sommer- und Winterzeit berücksichtigt?
Ähm... Nö, hab nru den Code von chaosben kopiert. Wie berücksichtige ich denn die Sommer- und Winterzeit?
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#8

Re: Abweichung von UTC bekommen

  Alt 24. Mai 2007, 10:59
In dem du sie entsprechend dazu addierst oder abziehst oder wie auch immer. Und bevor du fragst: MSDN-Library durchsuchenGetTimeZoneInformation!
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Andreas L.
(Gast)

n/a Beiträge
 
#9

Re: Abweichung von UTC bekommen

  Alt 24. Mai 2007, 11:06
Auf den von dir verlinkten Artikel war ich ja schon. Aber dort steht nirgendwo was wie man herausbekommt ob gerade Sommer- oder Winterzeit ist. Wie lautet denn die benötigte Funktion?
  Mit Zitat antworten Zitat
shmia

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

Re: Abweichung von UTC bekommen

  Alt 24. Mai 2007, 11:07
Delphi-Quellcode:
// liefert den Abstand der lokalen Zeit zu UTC
// UTC = lokaleZeit + GetTimeZoneBias
function GetTimeZoneBias:TDateTime;
const
   MINUTES_PER_DAY = 24.0 * 60.0;
var
  tzi : TTimeZoneInformation;
begin
   case GetTimeZoneInformation(tzi) of
      TIME_ZONE_ID_STANDARD:
         result := (tzi.Bias) / MINUTES_PER_DAY;

      TIME_ZONE_ID_DAYLIGHT: // Sommerzeit
         Result := (tzi.Bias+tzi.DaylightBias) / MINUTES_PER_DAY;
   else
      Result := 0.0;
   end;
end;
Andreas
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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:39 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