Untitled

 avatar
unknown
plain_text
a year ago
865 B
4
Indexable
Function ConvertToDateTime(number As Long) As Date
    Dim yearPart As Integer
    Dim monthPart As Integer
    Dim dayPart As Integer
    Dim timePart As Integer
    
    ' Extracting components
    yearPart = (number \ 100000000) Mod 100
    monthPart = (number \ 1000000) Mod 100
    dayPart = (number \ 10000) Mod 100
    timePart = number Mod 10000
    
    ' Adjusting the year if it's less than 30 to represent 21st century
    If yearPart < 30 Then
        yearPart = yearPart + 2000
    Else
        yearPart = yearPart + 1900
    End If
    
    ' Constructing the datetime
    ConvertToDateTime = DateSerial(yearPart, monthPart, dayPart) + TimeSerial(timePart \ 100, timePart Mod 100, 0)
End Function

Sub Test()
    Dim number As Long
    number = 2401272347
    Dim dateTime As Date
    dateTime = ConvertToDateTime(number)
    MsgBox dateTime
End Sub
Editor is loading...
Leave a Comment