VBA, MS Access MS Access в примерах

Дата - Преобразование часов, минут и секунд в суммарное кол-во секунд и обратно

Работает примерно так:

Private Function esSecondsToTime(lngSec As Long, WhatReturn As Byte) As Long
'es 27.08.04
'Преобазование времени в секундах в Часы, Минуты и Секунды
' по аргументу WhatReturn
'   1 - Часы
'   2 - Минуты
'   3 - Секунды
'--------------------------------------------------------------------
Dim h As Long, m As Long, s As Long, x As Long
On Error GoTo SecondsToTimeErr
    x = lngSec
    h = x \ 3600
    x = x - (h * 3600)
    m = x \ 60
    x = x - m * 60
    s = x
    Select Case WhatReturn
        Case 1: esSecondsToTime = h 'Возвращаем целые ЧАСЫ
        Case 2: esSecondsToTime = m 'Возвращаем целые МИНУТЫ (остаток от часов)
        Case 3: esSecondsToTime = s 'Возвращаем остаток секунд
        Case Else: esSecondsToTime = 0
    End Select
    Exit Function
SecondsToTimeErr:
    esSecondsToTime = 0
End Function
 
 
Private Function esTimeToSeconds(lngH As Long, lngM As Long, lngS As Long) As Long
'es 27.08.04
'Возвращает результат преобразования Часов, Минут и Секунд в суммарное кол-во секунд
'По аргументам
'   lngH - кол-во часов
'   lngM - кол-во минут
'   lngS - кол-во секунд
'--------------------------------------------------------------------
 
On Error GoTo TimeToSecondsErr
    esTimeToSeconds = lngH * 3600
    esTimeToSeconds = esTimeToSeconds + lngM * 60
    esTimeToSeconds = esTimeToSeconds + lngS
    Exit Function
TimeToSecondsErr:
    esTimeToSeconds = 0
End Function
Назад ToTop
L.E. 17.01.2021
Рейтинг@Mail.ru