LPARAMETERS INP lcOutBuffer
LOCAL lcInBuffer, fResult, lcBuild, ;
lnDay, lnMonth, lnYear, lnHour, lnMinute, lnSecond, lcFile, m.lcLocalTime
IF EMPTY(m.lcOutBuffer)
RETURN {^1901-01-01 00:00:01}
ENDIF
STORE SPACE(16) TO m.lcInBuffer, m.lcLocalTime
fResult = ftps_FileTimeToSystemTime(@m.lcOutBuffer, @m.lcInBuffer)
This.GetExtendedError()
IF m.fResult = 0 && Failed
RETURN {^1901-01-01 00:00:01}
ENDIF
fResult = ftps_SystemTimeToTzSpecificLocalTime(NULL, @m.lcInBuffer, @m.lcLocalTime)
IF m.fResult = 0 && Failed
m.lcLocalTime=m.lcInBuffer
ENDIF
lnYear = ASC(SUBSTR(m.lcLocalTime, 1, 1)) + (ASC(SUBSTR(m.lcLocalTime, 2, 1)) * BYTE_2)
lnMonth = ASC(SUBSTR(m.lcLocalTime, 3, 1)) + (ASC(SUBSTR(m.lcLocalTime, 4, 1)) * BYTE_2)
lnDay = ASC(SUBSTR(m.lcLocalTime, 7, 1)) + (ASC(SUBSTR(m.lcLocalTime, 8, 1)) * BYTE_2)
lnHour = ASC(SUBSTR(m.lcLocalTime, 9, 1)) + (ASC(SUBSTR(m.lcLocalTime, 10, 1)) * BYTE_2)
lnMinute = ASC(SUBSTR(m.lcLocalTime, 11, 1)) + (ASC(SUBSTR(m.lcLocalTime, 12, 1)) * BYTE_2)
lnSecond = ASC(SUBSTR(m.lcLocalTime, 13, 1)) + (ASC(SUBSTR(m.lcLocalTime, 13, 1)) * BYTE_2)
lcBuild = "^" + ALLTRIM(STR(m.lnYear)) + '-' + ALLTRIM(STR(m.lnMonth)) + '-' + ALLTRIM(STR(m.lnDay)) + ' ' + ;
ALLTRIM(STR(m.lnHour)) + ':' + ALLTRIM(STR(m.lnMinute)) + ':' + ALLTRIM(STR(m.lnSecond))
RETURN CTOT(m.lcBuild)