2017年3月23日 星期四

Unix Timestamp 使用 Excel VBA

傳送參數有些時候會使用到 Unix Timestamp 的數值,Unix Timestamp 就是從1970/1/1開始至今的時間,一般以秒為單位,有些網站會以 Unix Timestamp 作為數值顯示或參數傳送,有些遇到朋友這樣的數值就無法解析了,筆者用以下Excel VBA程式碼來說明。
將日期轉成Unix Timestamp。
Private Const Unix1970 As Long = 25569 'CDbl(DateSerial(1970, 1, 1))

Public Function Date2Unix(ByVal vDate As Date) As Long
 Date2Unix = DateDiff("s", Unix1970, vDate)
End Function

將 Unix Timestamp 轉成日期。
Private Const Unix1970 As Long = 25569 'CDbl(DateSerial(1970, 1, 1))

Public Function Unix2Date(vUnixDate As Long) As Date
 Unix2Date = DateAdd("s", vUnixDate, Unix1970)
End Function




Private Const Unix1970 As Long = 25569 'CDbl(DateSerial(1970, 1, 1))

Public Function Unix2Date(vUnixDate As Long) As String
    Unix2Date = Format(DateAdd("s", vUnixDate, Unix1970), "yyyy/mm/dd")
End Function

參考資料: