Free Trial

Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.


Share this Page URL
Help

Datum und Zeit > 76 Systemdatum und -zeit setzen - Pg. 183

76 Systemdatum und zeit setzen Das Setzen des Systemdatums und der Systemzeit ist scheinbar nicht mit .NET-Klassen mög- lich. Die entsprechenden Eigenschaften der DateTime -Struktur sind schreibgeschützt und Date- Time besitzt keine Methoden zum Schreiben der Systemdatumswerte. Das Systemdatum und die Systemzeit können Sie aber über die API-Funktion SetSystemTime setzen. Diese Funktion erwartet am einzigen Argument eine Instanz der API-Struktur SYSTEM- TIME , die einzelne Felder für die Bestandteile eines Datums besitzt. Diese Struktur füllen Sie mit den gewünschten Werten und rufen damit SetSystemTime auf. Dabei müssen Sie beachten, dass diese Funktion die Zeitangabe im UTC-Format (Coordinated Universal Time) erwartet. Diese Zeitangabe, die früher als Greenwich Mean Time (GMT) bezeichnet wurde, bezieht sich auf die aktuelle Zeit in der englischen Ortschaft Greenwich und wird als internationale Basis für Zeitangaben verwendet. Die Zeit in Deutschland besitzt im Winter einen Offset von einer und im Sommer einen Offset von zwei Stunden zu UTC. Ein Datum können Sie ganz einfach über die Methode ToUniversalTime eines DateTime -Objekts in das UTC-Format umrechnen. Die Methoden in Listing 118 helfen Ihnen dabei, das Systemdatum und die Systemzeit zu set- zen. Zunächst habe ich die Struktur SYSTEMTIME und die API-Funktion SetSystemTime dekla- riert. SYSTEMTIME ist mit dem Attribut StructLayout mit dem Argument LayoutKind.Sequential versehen, damit die (.NET-)Struktur im Speicher als normale C-Struktur angelegt wird, bei der die einzelnen Elemente (anders als bei .NET) sequenziell hintereinander im Speicher positio- Datum und Zeit >> Datum und Zeit 183