Rubrik: Windows/System | 22.03.05 |
GetDateFormat-Funktion Diese Funktion formatiert einen Datums-String anhand einer SYSTEMTIME-Struktur. | ||
Betriebssystem: Win95, Win98, WinNT 4.0, Win2000, WinME | Views: 10.067 |
Deklaration:
Declare Function GetDateFormat Lib "kernel32.dll" _ Alias "GetDateFormatA" ( _ ByVal Locale As Long, _ ByVal dwFlags As Long, _ lpDate As SYSTEMTIME, _ ByVal lpFormat As Any, _ ByVal lpDateStr As String, _ ByVal cchDate As Long) As Long
Beschreibung:
Diese Funktion formatiert einen Datums-String anhand einer SYSTEMTIME-Struktur.
Parameter:
Locale | Erwartet eine der "Locale"-Konstanten, die beschreiben, welche Formateinstellung zur Formatierung benutzt werden sollen. |
dwFlags | Erwartet eine oder eine Kombination mehrerer "Flags"-Konstanten, die weitere Optionen bei der Formatierung festlegen. |
lpDate | Erwartet eine SYSTEMTIME-Struktur, die mit dem zu formatierenden Datum gefüllt ist. |
lpFormat | Erwartet das Format, in dem das Datum ausgegeben werden soll. Die einzelnen Kommandos können mit Leerzeichen voneinander getrennt werden. Nicht beschriebeneWerte oder im Format enthaltener Text müssen in einzelne Anführungsstriche gefasst sein ("'""). Folgende Formate können angegeben werden:
|
lpDateStr | Erwartet einen Puffer, der mit demformatierten String gefüllt wird. |
cchDate | Erwartet die Größe des Puffers in Bytes. |
Locale Konstanten:
Const LOCALE_SYSTEM_DEFAULT = &H400 ' Zeitformat des Systems Const LOCALE_USER_DEFAULT = &H800 ' Zeitformat des aktuellen Benutzers
Rückgabewert:
Ist die Funktion erfolgreich, so liefert sie die Länge des formatierten Strings, andernfallswird der Wert "0" zurückgegeben. Für erweiterte Fehlerinformationen könnenSie die GetLastError-Funktionaufrufen.
Beispiel:
Private Declare Function GetDateFormat Lib "kernel32.dll" _ Alias "GetDateFormatA" ( _ ByVal Locale As Long, _ ByVal dwFlags As Long, _ lpDate As SYSTEMTIME, _ ByVal lpFormat As Any, _ ByVal lpDateStr As String, _ ByVal cchDate As Long) As Long Private Declare Sub GetLocalTime Lib "kernel32.dll" (lpSystemTime As SYSTEMTIME) Private Type SYSTEMTIME wYear As Integer wMonth As Integer wDayOfWeek As Integer wDay As Integer wHour As Integer wMinute As Integer wSecond As Integer wMilliseconds As Integer End Type ' GetDateFormat Locale-Konstanten Private Const LOCALE_SYSTEM_DEFAULT = &H400 ' Zeitformat des Systems Private Const LOCALE_USER_DEFAULT = &H800 ' Zeitformat des aktuellen Benutzers ' GetDateFormat dwFlags-Konstanten Private Const LOCALE_NOUSEROVERRIDE = &H80000000 ' Standard-Systemformat des Datums wird genutzt und die Benutzereinstellungen ignoriert Private Const LOCALE_USE_CP_ACP = &H40000000 ' der ANSI Zeichensatz soll für die Darstellung des Formats benutzt werden Private Const DATE_SHORTDATE = &H1 ' formatiert das Datum als kurzes Datum Private Const DATE_LONGDATE = &H2 ' formatiert das Datum als langes Datum Private Const DATE_USE_ALT_CALENDAR = &H4 ' wenn ein alternativer Kalender existiert, sollen dessen Werte benutzt werden Private Const DATE_YEARMONTH = &H8 ' formatiert das Datum nach dem Monat/Jahr Format Private Const DATE_LTRREADING = &H10 ' das Datum wird von links nach rechts formatiert Private Const DATE_RTLREADING = &H20 ' das Datum wird von rechts nach links formatiert
' formatiertes Datum ausgeben Private Sub Command1_Click() Dim ST As SYSTEMTIME, FDate As String * 256, Retval As Long ' aktuelles Datum ermitteln Call GetLocalTime(ST) ' Datum formatieren Retval = GetDateFormat(0&, 0&, ST, "dddd', der 'dd MMMM yyyy", FDate, ' Len(FDate)) ' Datum ausgeben MsgBox Left$(FDate, Retval), , "Aktuelles Datum" End Sub