Уважаемые знатоки скажите у меня есть время в секундах, скажем 3001 как мне его просто преобразовать к виду HH:MM:SS?
У меня написан дикий код.... очень большой основаный на одной математике, а может есть простое средство
MsgBox TimeSerial(0, 0, sec)
If CLng(Date1) > CLng(Date2) Then MsgBox "1 больше" Else MsgBox "2 больше"
A.A.Z. писал(а):
- Код: Выделить всё
If CLng(Date1) > CLng(Date2) Then MsgBox "1 больше" Else MsgBox "2 больше"
Date1 = "2005-01-01 09:00:00"
Date2 = "2005-01-01 08:00:00"
VAngel писал(а):Спасибо, это работает, но имеет ограничения 86399 секунд, а при превышении начинает возвращать дату 31.12.1899
Dim D as Date
D = CDate(3001 / 86400)
MsgBox IIf(GetTickCount > 0, "Windows up for: " & Int(GetTickCount / 86400000) & " days, " & _
CDate((GetTickCount Mod 86400000) / 86400000), "Windows up for: " & Int((4294967296# + _
GetTickCount) / 86400000) & " days, " & CDate(((4294967296# + GetTickCount) / 86400000) _
- Int((4294967296# + GetTickCount) / 86400000)))
tyomitch писал(а):Ennor, тип "Date" означает "Дата и время", т.ч. твой код также не будет работать для интервалов больше суток.
...
Debug.Print CDate(100000 / 86400)
31.12.1899 3:46:40
Debug.Print 10 \ 3 ' 3
Debug.Print 10 Mod 3 ' 1
Сейчас этот форум просматривают: Google-бот, Yandex-бот и гости: 4