Я не могу помочь вам с VB3. Я не видел этого много лет. Я могу дать вам что-то, что будет работать в VB5/VB6. Я не знаю, насколько хорошо он перейдет на VB3. Надеюсь, если это потребует работы, вы можете перевести его на VB3 или найти того, кто может. Вы захотите добавить соответствующую обработку ошибок.
Private Declare Function GetLocaleInfo Lib "kernel32" Alias "GetLocaleInfoA" (ByVal Locale As Long, ByVal LCType As Long, ByVal lpLCData As String, ByVal cchData As Long) As Long
Private Const LOCALE_USER_DEFAULT = &H400
Private Const LOCALE_SSHORTDATE = &H1F ' short date format string
Private Const LOCALE_SLONGDATE = &H20 ' long date format string
Private Sub Form_Load()
Dim strMsg As String
strMsg = "Short Date Format: " & FormatShortDate(DateTime.Now)
strMsg = strMsg & vbCrLf & "Long Date Format: " & FormatLongDate(DateTime.Now)
MsgBox strMsg
End Sub
Private Function FormatShortDate(ByVal vDate As Date) As String
Dim strShortDateFormat As String
Dim lngRet As Long
Dim strReturn As String
'Get short date format
strShortDateFormat = Space(255)
lngRet = GetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_SSHORTDATE, strShortDateFormat, Len(strShortDateFormat))
strShortDateFormat = Left(strShortDateFormat, lngRet - 1)
strReturn = Format$(vDate, strShortDateFormat)
FormatShortDate = strReturn
End Function
Private Function FormatLongDate(ByVal vDate As Date) As String
Dim strLongDateFormat As String
Dim lngRet As Long
Dim strReturn As String
'Get long date format
strLongDateFormat = Space(255)
lngRet = GetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_SLONGDATE, strLongDateFormat, Len(strLongDateFormat))
strLongDateFormat = Left(strLongDateFormat, lngRet - 1)
strReturn = Format$(vDate, strLongDateFormat)
FormatLongDate = strReturn
End Function
переменных = «31/12/2000» должен быть «12/31/2000» – David