300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > excel中十六进制Unix时间戳转换为日期

excel中十六进制Unix时间戳转换为日期

时间:2019-02-12 16:46:50

相关推荐

excel中十六进制Unix时间戳转换为日期

记录下使用的一个在excel中转换unix时间戳的计算方式。

原始数据一般保存在csv文件中,且以16进制的格式。

在看原始数据分析的问题时候,需要通过计算器先把十六进制转为十进制,再使用unix时间戳转换工具转换,步骤繁杂。

本文分享一个在excel中转换十六进制unix时间戳的计算方法。

下文分步骤讲解,并在文末给出终极转换公式。

1.原始数据格式,32位unix时间戳被分成了四个字节分布于四个连续的单元格内;

2.将四个单元格合并至一个单元格内,合并单元格内容使用&;

合并后的结果如下所示:

3、上面已经得到原始32位的十六进制格式Unix时间戳了,将十六进制转为十进制,使用HEX2DEC函数;

转换结果如下所示:

4、excel中没有直接将Unix时间戳转换函数,因此,这里需要计算一下,计算公式如下所示,其中t为unix时间戳十进制数:

(t+8∗3600)/86400+70∗365+19(t+8*3600)/86400+70*365+19 (t+8∗3600)/86400+70∗365+19

5、上述计算出来是一个数值,而不是日期格式,因此还需要将单元格格式转为日期格式,年月日+时分秒,自定义数字类型:yyyy/m/d h:mm:ss,格式设置如下图所示:

6、最终得到了转换后的日期格式。

7、整合后的公式如下所示:

(HEX2DEC(A1&B1&C1&D1)+8*3600)/86400+70*365+19

其中的A1 B1 C1 D1需要替换为实际的单元格位置。

8、方式二,使用偏移量,只使用一个单元格的位置:

(HEX2DEC(A1&OFFSET(A1, 0, 1)&OFFSET(A1, 0, 2)&OFFSET(A1, 0, 3))+8*3600)/86400+70*365+19

只需要更改其中A1,即出现的首个单元格位置就可以了。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。