SO WIRD'S GEMACHT: Abrufen oder Festlegen der Systemzeit

Dieser Dokumentation für die Vorschau nur ist und in späteren Versionen geändert. Leere Themen wurden als Platzhalter eingefügt.]

Abrufen oder Festlegen der Systemzeit des Geräts möchten, rufen Sie Verwendung Plattformaufrufs die systemeigenen GetSystemTime oder SetSystemTime Funktionen auf.

Beachten Sie, dass die Funktion GetSystemTime Coordinated Universal Time (UTC, auch bekannt als Greenwich Mean Time) zurückgibt. Die lokale Zeit erhalten, müssen Sie hinzufügen oder subtrahiert die Anzahl der Stunden zwischen Ihrer Zeitzone und UTC. 24: 00 (Mitternacht) in UTC ist z. B. 19: 00 in New York--einen Offset von minus 5 Stunden (UTC–5).

Um UTC-Offset für die Zeitzone zu ermitteln, finden Sie unter die Registerkarte Zeitzone von Datum und Uhrzeit.

Einigen Geräteemulatoren setzen anfänglich Sommerzeit ordnungsgemäß nicht, kann das Ergebnis auswirken.

Beispiel

In diesem Codebeispiel definiert Folgendes:

  • Plattformaufrufdeklarationen für die systemeigenen Methoden in Windows Embedded CE.

  • Eine Struktur, die übergeben und Empfangen von systemeigenen Methoden.

  • Eine verwaltete Methode mit dem Namen GetTime, die die aktuelle Zeit anzeigt.

  • Eine verwaltete Methode mit dem Namen SetTime, die die Systemuhr eine Stunde voraus festlegt.

                        Public
                        Structure SYSTEMTIME
    Public wYear As UInt16
    Public wMonth As UInt16
    Public wDayOfWeek As UInt16
    Public wDay As UInt16
    Public wHour As UInt16
    Public wMinute As UInt16
    Public wSecond As UInt16
    Public wMilliseconds As UInt16
EndStructureDeclareFunction GetSystemTime Lib"CoreDll.dll" _
    (ByRef lpSystemTime As SYSTEMTIME) As UInt32

DeclareFunction SetSystemTime Lib"CoreDll.dll" _
    (ByRef lpSystemTime As SYSTEMTIME) As UInt32

PublicSub GetTime
    ' Call the native GetSystemTime method    ' with the defined structure.Dim st AsNew SYSTEMTIME
    GetSystemTime(st)

    ' Show the current time.
    MessageBox.Show("Current Time: "  & st.wHour.ToString() _
        & ":" & st.wMinute.ToString())
EndSubPublicSub SetTime
    ' Call the native GetSystemTime method    ' with the defined structure.Dim st AsNew SYSTEMTIME
    GetSystemTime(st)

    ' Set the system clock ahead one hour.
    st.wHour = Convert.ToUInt16(((CInt(st.wHour) + 1)) Mod 24)
    SetSystemTime(st)

EndSub
[DllImport("coredll.dll")]
privateexternstaticvoid GetSystemTime(ref SYSTEMTIME lpSystemTime);

[DllImport("coredll.dll")]
privateexternstaticuint SetSystemTime(ref SYSTEMTIME lpSystemTime);


privatestruct SYSTEMTIME 
{
    publicushort wYear;
    publicushort wMonth; 
    publicushort wDayOfWeek; 
    publicushort wDay; 
    publicushort wHour; 
    publicushort wMinute; 
    publicushort wSecond; 
    publicushort wMilliseconds; 
}

privatevoid GetTime()
{
    // Call the native GetSystemTime method// with the defined structure.
    SYSTEMTIME stime = new SYSTEMTIME();
    GetSystemTime(ref stime);

    // Show the current time.           
    MessageBox.Show("Current Time: "  + 
        stime.wHour.ToString() + ":"
        + stime.wMinute.ToString());
}
privatevoid SetTime()
{
    // Call the native GetSystemTime method// with the defined structure.
    SYSTEMTIME systime = new SYSTEMTIME();
    GetSystemTime(ref systime);

    // Set the system clock ahead one hour.
    systime.wHour = (ushort)(systime.wHour + 1 % 24);
    SetSystemTime(ref systime);
    MessageBox.Show("New time: " + systime.wHour.ToString() + ":"
        + systime.wMinute.ToString());
}

Kompilieren des Codes

In diesem Beispiel sind Verweise auf die folgenden Namespaces erforderlich:

Siehe auch

Weitere Ressourcen

Interoperabilität in .NET Compact Framework