devxlogo

TimeToString – Convert time to a descriptive string

TimeToString – Convert time to a descriptive string

' convert a date value into a string in the format'     YY years, MM months, DD days, HH hours, MM minutes, SS.HH seconds)' you can also opt for time short format (HH h, MM m, SS s)Function TimeToString(ByVal aDate As Date, Optional ShortTimeFormat As Boolean, _    Optional showHundredths As Boolean) As String    Dim y As Long, m As Long, d As Long    Dim ho As Long, mi As Long, se As Long, hu As Long    Dim res As String    Dim days As Double        days = CDbl(aDate)        ' evaluate (approximate) year, month, and day    y = Int(days / 365.25)    m = (days - Int(y * 365.25))  30    d = (days - Int(y * 365.25) - m * 30)        ' make some adjustments    If d >= 30 Then        m = m + 1        d = d Mod 30    End If    If m >= 12 Then        y = y + 1        m = m Mod 12    End If        ' evaluate hours, minutes, and seconds    ' 8640000 = number of Hundredths of seconds in a day    hu = (days - Int(days)) * 8640000    ho = (hu  360000)    mi = (hu - ho * 360000)  6000    se = (hu - ho * 360000 - mi * 6000)  100    hu = hu Mod 1000        ' build the result string    If y Then        res = CStr(y) & " year" & IIf(y <> 1, "s", "") & ", "    End If        If m Or Len(res) Then        res = res & CStr(m) & " month" & IIf(m <> 1, "s", "") & ", "    End If        If d Or Len(res) Then        res = res & CStr(d) & " day" & IIf(d <> 1, "s", "") & ", "    End If        If ho Or Len(res) Then        res = res & CStr(ho) & IIf(ShortTimeFormat, " h", " hour" & IIf(ho <> 1, _            "s", "")) & ", "    End If    If mi Or Len(res) Then        res = res & CStr(mi) & IIf(ShortTimeFormat, " m", _            " minute" & IIf(mi <> 1, "s", "")) & ", "    End If            ' always display seconds    res = res & CStr(se) & IIf(ShortTimeFormat, " s", " second" & IIf(se <> 1, _        "s", ""))        TimeToString = res    End Function

See also  Why ChatGPT Is So Important Today
devxblackblue

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist