vba select 来自特定列的 unixtimestamp 并转换为日期和时间

vba select unixtimestamp from specific column and convert to date and time

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

谁能帮帮我? 提前致谢

Unix 纪元时间戳就是从 1970 年 1 月 1 日开始的秒数

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

根据您的范围循环。

我用这段代码(公式)解决了它,将 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