Unix time is defined by wikipedia as “…a system for describing points in time, defined as the number of seconds elapsed since midnight Coordinated Universal Time (UTC) of January 1, 1970, not counting leap seconds.”
Unix times are used by a number of Cisco products like in callmanager call record reports, as the OSPF cryptographic sequence number, and as the time measurements were taken using snmp bulkstats.
Taking leap seconds and leap years into account can be a messy business, but excel can help simplify the calculations to normal date and time by using the vba DateAdd function.
Unfortunately it can’t be used directly in a cell formula but you can create a macro (vba function) that can be used in a cell formula. The vba code I used is shown below. Note that there is a second optional parameter UTCOffset, the number of hours from UTC , that can be used to calculate local times. If omitted you will get UTC times.
Private Const SecondsPerHour = 3600
Private Const EpochStart = "1/1/1970" '1 Jan 1970 00:00:00 UTC
Function epochconvert(epochtime, Optional UTCOffset)
If IsMissing(UTCOffset) Then
epochconvert = DateAdd("s", epochtime, EpochStart)
Else
epochconvert = DateAdd("s", epochtime + SecondsPerHour * UTCOffset, EpochStart)
End If
End Function
Function ToEpoch(dtDate, Optional UTCOffset)
If IsMissing(UTCOffset) Then
ToEpoch = DateDiff("s", dtDate, EpochStart)
Else
ToEpoch = DateDiff("s", EpochStart, dtDate) - SecondsPerHour * UTCOffset
End If
End Function