Маска формата времени.

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
$Yastrebov$
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 154
Зарегистрирован: 24.01.2007 (Ср) 7:27
Откуда: Ukraine

Маска формата времени.

Сообщение $Yastrebov$ » 07.04.2010 (Ср) 21:44

Как получить маску установленного в системе (по региональным стандартам) формата времени? Что-то вроде такого "H:mm:ss".
Жизнь, она как коробка конфет - никогда не знаешь, что вытянешь!

$Yastrebov$
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 154
Зарегистрирован: 24.01.2007 (Ср) 7:27
Откуда: Ukraine

Re: Маска формата времени.

Сообщение $Yastrebov$ » 07.04.2010 (Ср) 23:23

Нашел сам, если кому нужно:

Код: Выделить всё
Private Declare Function GetUserDefaultLCID Lib "kernel32" () As Long

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_SSHORTDATE = &H1F      ' Краткий формат даты.
Private Const LOCALE_SLONGDATE = &H20       ' Длинный формат даты
Private Const LOCALE_STIMEFORMAT = &H1003   ' Формат времени.
Private Const LOCALE_SDATE = &H1D           ' Разделитель даты.
Private Const LOCALE_STIME = &H1E           ' Разделитель времени.

Public Sub GetDateTimeSettings()
    Dim str As String * 100
   
    GetLocaleInfo GetUserDefaultLCID, LOCALE_SSHORTDATE, str, 99
    Debug.Print fnTrimNull(str)
   
    GetLocaleInfo GetUserDefaultLCID, LOCALE_SLONGDATE, str, 99
    Debug.Print fnTrimNull(str)
   
    GetLocaleInfo GetUserDefaultLCID, LOCALE_STIMEFORMAT, str, 99
    Debug.Print fnTrimNull(str)
   
    GetLocaleInfo GetUserDefaultLCID, LOCALE_SDATE, str, 99
    Debug.Print fnTrimNull(str)
   
    GetLocaleInfo GetUserDefaultLCID, LOCALE_STIME, str, 99
    Debug.Print fnTrimNull(str)
End Sub

Function fnTrimNull( _
  ByVal strValue As String) As String
    Dim intPos As Integer
   
    intPos = InStr(strValue, vbNullChar)
   
    Select Case intPos
        Case 0
        Case 1
            fnTrimNull = ""
        Case Is > 1
            fnTrimNull = Left(strValue, intPos - 1)
    End Select
End Function
Жизнь, она как коробка конфет - никогда не знаешь, что вытянешь!

Saturn.65
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 543
Зарегистрирован: 13.10.2006 (Пт) 18:46

Re: Маска формата времени.

Сообщение Saturn.65 » 02.05.2010 (Вс) 14:19

А так что?
Код: Выделить всё
Label1.Caption = Format(Time, "hh:nn:ss")
Главное, ребята, сердцем не стареть...

$Yastrebov$
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 154
Зарегистрирован: 24.01.2007 (Ср) 7:27
Откуда: Ukraine

Re: Маска формата времени.

Сообщение $Yastrebov$ » 02.05.2010 (Вс) 20:29

Так получишь формат времени hh:nn:ss, независимо от региональных настроек. И если у человека время "1:03:55 PM", то он должен лицезреть непривычное для него: 13:03:55
Жизнь, она как коробка конфет - никогда не знаешь, что вытянешь!

Saturn.65
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 543
Зарегистрирован: 13.10.2006 (Пт) 18:46

Re: Маска формата времени.

Сообщение Saturn.65 » 02.05.2010 (Вс) 21:05

$Yastrebov$ писал(а): И если у человека время "1:03:55 PM", то он должен лицезреть непривычное для него: 13:03:55

Читал про формат Media Time. Который и дает PM.
Главное, ребята, сердцем не стареть...

Joo
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 762
Зарегистрирован: 14.08.2008 (Чт) 11:55
Откуда: Казахстан

Re: Маска формата времени.

Сообщение Joo » 03.05.2010 (Пн) 7:47

Код: Выделить всё
Format(Time,"t")
"Им будет не просто, тем кто полагается на истину авторитета, вместо того чтобы полагаться на авторитет Истины"
Джеральд Месси, Египтолог


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 65

    TopList