vba从特定列中选择unixtimestamp并转换为日期和时间

时间:2015-04-13 13:08:10

标签: vba converter unix-timestamp

我有一个Excel文件,其列中有很多unix时间戳" C"例如(1422885360)。我需要一个vba脚本,它将此unix时间戳转换为日期(dd.mm.yyyy)和时间(mm:hh:ss)。日期和时间应该在同一列中,因此来自列" C"的unix时间戳。应该被覆盖。

谁能帮帮我? 提前谢谢

2 个答案:

答案 0 :(得分:1)

使用此代码(公式)我解决了它,将unix时间码转换为日期和时间。
仅供参考,我的unix时间码在C栏中,我在D栏中添加了一个公式,其中的日期和时间应该是可见的。

lastRow = Range("C" & Rows.Count).End(xlUp).Row 'this counts until the last entry of the column C
Range("D2").Formula = "=(C2/86400)+25569+(+1/24)" 'this is the formula to convert the unix time code to date and time. The +1 is for the timezone, so i live in Austria which has a timezone GMT+1
Range("D2").AutoFill Destination:=Range("D2:D" & lastRow) 'this copies the formula to column D to the same amount of rows of column C
Range("D2:D99999").NumberFormat = "DD.MM.YYYY HH:MM:SS" 'this changes the cell format to a custom format

答案 1 :(得分:0)

Unix纪元时间戳只是从1970年1月1日起的秒数

Range("C1").Value = DateAdd("s", Range("C1").Value, "1/1/1970")

根据您的范围进行循环。