Autor Beitrag
mb
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 185



BeitragVerfasst: Mo 22.09.03 13:27 
Hallo!

In einem Programm brauche ich die einzelnen Komponenten der aktuellen Zeit (Datum/Zeit).

Mit der NOW-Funktion hole ich mir den aktuellen TDateTime-Wert und dekodiere ihn dann mit Hilfe von DECODEDATETIME(...) um an die einzelnen Werte wie Jahr, Monat, Tag, Stunde, Minute, ... ran zu kommen.

Hier gibt es bei mir ein Problem: Alle Werte - bis auf Stunde (Hour) - sind korrekt.

Der Wert "Stunde" ist immer um zwei zu hoch, also: wenn es 21 Uhr ist, beinhaltet Stunde 23 ... usw.

Weiß jemand woran das liegen kann? Ich arbeite mit WinXP, aber kann mir eigentlich nicht vorstellen, dass es an meinem System liegt... (oder doch? am 24-Stundenformat?)

Ich kann natürlich den Wert immer um 2 dekrementieren, aber nur, wenn ich wirklich sicher sein kann, dass auf allen Rechnern diese falschen Werte geliefert werden....

_________________
Gruß,
MB
lambruco
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 100

Win 2000/2000 Server/XP
D6 Prof.
BeitragVerfasst: Mo 22.09.03 14:07 
Welcher Wert ist denn schon falsch ?
Liefert now() schon die falsche Stundenanzahl ??
Dann schau mal im Bios nach, ansonsten wüsste ich auch nicht weiter.

_________________
Wer Rechtschreibfehler findet, kann Sie behalten
smiegel
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 992
Erhaltene Danke: 1

WIN 7
D7 Prof., C#, RAD XE Prof.
BeitragVerfasst: Mo 22.09.03 14:21 
Hallo,

eventuell ist die falsche Zeitzone eingestellt?

_________________
Gruß Smiegel
Ich weiß, daß ich nichts weiß, aber ich weiß mehr als die, die nicht wissen, daß sie nichts wissen. (Sokrates)
mb Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 185



BeitragVerfasst: Mo 22.09.03 18:13 
Nein, nein. Ich hole die korrekte Systemzeit. Wenn ich den von Now-gelieferten Wert in einen String wandle, kann ich das ja auch sehen. Nur wenn ich z.B. mittels NOW() und DECODEDATETIME() die einzelnen "Zeit"-Komponenten hole und dann sofort wieder mittels SETSYSTEMTIME setze, dann wird die Systemzeit um 2 Stunden vor gestellt.

_________________
Gruß,
MB
smiegel
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 992
Erhaltene Danke: 1

WIN 7
D7 Prof., C#, RAD XE Prof.
BeitragVerfasst: Mo 22.09.03 18:59 
Hallo,

Zitat:

...wieder mittels SETSYSTEMTIME setze...


das hast Du vorher nicht erwähnt. Du musst SetLocalTime benutzen.

_________________
Gruß Smiegel
Ich weiß, daß ich nichts weiß, aber ich weiß mehr als die, die nicht wissen, daß sie nichts wissen. (Sokrates)
mb Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 185



BeitragVerfasst: Mo 22.09.03 19:30 
sorry, mein fehler.

und danke. nun klappt es natürlich auch.

_________________
Gruß,
MB