Abrufen von Zeit- und Datumsinformationen
Dieses Thema enthält Anweisungen für die Verwendung der NLS-Funktionen in Ihren Anwendungen, um Zeit- und Datumsinformationen sowie Dauerdaten abzurufen. Wenn Ihre Anwendung Daten beibehalten muss, finden Sie weitere Informationen unter Verwenden von persistenten Locale Data.
Windows Vista und höher: Die in diesem Thema beschriebenen Funktionen können Daten aus benutzerdefinierten Lokalen abrufen. Sie können insbesondere verwendet werden, um Zeit- und Datumsformate anzupassen. Beispielsweise ist es möglich, ein Zeitformat wie "hhHmm es ss'" zu verwenden, was zu Zeitzeichenfolgen wie "12H34'12''' führt."
Abrufen von Zeitinformationen
Ihre Anwendung kann Zeichenfolgen jederzeit in einem Format erhalten, das für das aktuelle Locale geeignet ist, indem die Funktionen GetTimeFormat und GetTimeFormatEx verwendet werden. Beide Funktionen überprüfen die einzelnen Zeitwerte in einer gültigen SYSTEMTIME-Struktur, um festzustellen, ob sie sich innerhalb des entsprechenden Wertebereichs befindet, und ignoriert dabei die Datumsteile der -Struktur. Wenn einer der Zeitwerte außerhalb des richtigen Bereichs liegt, schlägt die Funktion mit dem Code ERROR _ INVALID _ PARAMETER fehl. Die Funktion gibt keine Fehler für eine fehlerhafte Formatzeichenfolge zurück, sondern bildet einfach die bestmögliche Zeitzeichenfolge.
Hinweis
Die NLS-Zeitfunktionen enthalten keine Millisekunden als Teil einer formatierten Zeitzeichenfolge.
Um das Zeitformat ohne tatsächliche Formatierung zu erhalten, kann die Anwendung die GetLocaleInfo- oder GetLocaleInfoEx-Funktion verwenden und dabei die LOCALE _ STIMEFORMAT-Konstante im Aufruf angeben.
Verwenden von Zeitmarkern
Beispiele für Zeitmarkierungen sind "AM" und "PM" für Englisch (USA) und "de". und "du". für Spanisch (Mexiko). Wenn TIME NOTIMEMARKER im Aufruf von _ GetTimeFormat oder GetTimeFormatExangegeben ist, entfernt die Funktion die Trennzeichen vor und nach der Zeitmarkierung. Wenn ein Zeitmarker vorhanden ist und das TIME NOTIMEMARKER-Flag im Aufruf nicht festgelegt ist, lokalisiert die Funktion den Zeitmarker basierend auf dem angegebenen _ Locale Identifier.
Entfernen von Trennzeichen vor Minuten und Sekunden
Ihre Anwendung kann GetTimeFormat oder GetTimeFormatEx mit TIME _ NOMINUTESORSECONDS oder TIME NOSECONDS aufrufen, um die Trennzeichen vor den Minuten- und/oder Sekundenelementen zu _ entfernen.
Verwenden des 24-Stunden-Zeitformats
Wenn Ihre Anwendung das 24-Stunden-Zeitformat unterstützt, kann sie GetTimeFormat oder GetTimeFormatEx mit TIME _ FORCE24HOURFORMAT aufrufen. Sofern das TIME _ NOTIMEMARKER-Flag nicht festgelegt ist, zeigt die Funktion alle vorhandenen Zeitmarkierungen an.
Abrufen von Datumsinformationen
Eine Anwendung kann mithilfe der Funktionen GetDateFormat und GetDateFormatEx Zeichenfolgen für jedes Datum in einem Format abrufen, das für das aktuelle Locale geeignet ist. Beide Funktionen überprüfen die Datumswerte Jahr, Monat, Tag und Wochentag in einer gültigen SYSTEMTIME-Struktur und ignorieren dabei die Zeitteile der Struktur. Der Tagname, der abgekürzte Tagname, der Monatsname und der abgekürzte Monatsname werden basierend auf dem Lokalisierungsbezeichner lokalisiert. Wenn der Wochentag falsch ist, verwendet die Funktion den richtigen Wert und gibt keinen Fehler zurück. Wenn einer der anderen Datumswerte außerhalb des richtigen Bereichs liegt, schlägt die Funktion mit dem Code ERROR _ INVALID _ PARAMETER fehl. Die Funktion gibt keine Fehler für eine fehlerhafte Formatzeichenfolge zurück, sondern bildet einfach die bestmögliche Datumszeichenfolge.
Wenn die Anwendung das Datumsformat für einen bestimmten Kalender erfordert, sollte sie GetCalendarInfo oder GetCalendarInfoExverwenden und den entsprechenden Kalenderbezeichner übergeben. Zum Zurückgeben aller Datumsformate für einen bestimmten Kalender kann die Anwendung EnumCalendarInfoEx, EnumCalendarInfoExEx, EnumDateFormatsExoder EnumDateFormatsExExverwenden.
Angeben eines alternativen Kalenders
Die Anwendung kann GetDateFormat oder GetDateFormatEx mit dem Flag DATE USE ALT CALENDAR aufrufen, um das Standardformat für den angegebenen alternativen _ Kalender zu _ _ verwenden. Wenn es kein Standardformat für den alternativen Kalender gibt, verwendet die Funktion die Benutzerüberschreibungen.
Um das Datumsformat für einen alternativen Kalender zu erhalten, kann die Anwendung GetLocaleInfo oder GetLocaleInfoEx mit der LOCALE _ IOPTIONALCALENDAR-Konstante verwenden.
Angeben des Datumstyps
Wenn die Anwendung ein kurzes Datumsformat verwenden möchte, gibt sie DATE SHORTDATE im Aufruf von _ GetDateFormat oder GetDateFormatEx an. Ein langes Datumsformat kann durch Angabe von DATE _ LONGDATE im Funktionsaufruf ermittelt werden. Wenn kein Flag angegeben ist und lpFormat auf NULL festgelegt ist, verwendet die Funktion DATE _ SHORTDATE als Standard.
Um das kurze und lange Datumsformat für den standarden Locale Calendar zu erhalten, sollte die Anwendung die GetLocaleInfo- oder GetLocaleInfoEx-Funktion mit der _ LOCALE-Konstante SSHORTDATE oder LOCALE _ SLONGDATE verwenden.
Angeben des Datumsformatbilds
Die Anwendung kann ein Datumsformatbild angeben, das GetDateFormat oder GetDateFormatEx verwendet, um die Datumszeichenfolge zu bilden. Wenn das Datumsformat für das angegebene Locale erforderlich ist, kann die Anwendung die Funktion aufrufen, bei der lpFormat auf NULL festgelegt ist. Wenn der -Parameter nicht auf NULL festgelegt ist, verwendet die Funktion das -Locale nur für Informationen, die nicht in der Formatbildzeichenfolge angegeben sind, z. B. die Tag- und Monatsnamen für das Locale.
Die Anwendung kann jeden Text, der in seiner genauen Form bleiben soll, in einfache Anführungszeichen einschließen. Ein einfaches Anführungszeichen kann auch als Escapezeichen verwendet werden, damit die Markierung selbst in der Datumszeichenfolge angezeigt werden kann. Die Escapesequenz muss jedoch in zwei einfache Anführungszeichen eingeschlossen werden. Um beispielsweise das Datum als "Mai '93' anzuzeigen, ist die Formatzeichenfolge: "MMMM '''''yy ".
Abrufen von Informationen zur Dauer
Windows Vista und höher: Die Funktionen GetDurationFormat und GetDurationFormatEx stehen zum Abrufen von Dauerformaten für Locales zur Verfügung, einschließlich benutzerdefinierter Locales. Um das Standardformat für die Dauer für ein Locale zu erhalten, sollte die Anwendung die GetLocaleInfo- oder GetLocaleInfoEx-Funktion mit der LOCALE _ SDURATION-Konstante verwenden.