Excel中导入Unix格式时间戳小技巧

原创
小哥 2年前 (2023-05-24) 阅读数 33 #大杂烩

转自: http://jingyan.baidu.com/article/a501d80cc7e9f3ec620f5e7a.html

步骤/方法
Excel不支持默认值Unix格式化时间戳,这在导入数据时非常不方便。时间戳可以转换为Excel格式化时间:
=(x+83600)/86400+70365+19
其中x带时间戳的单元格,8*3600中的8它是中国的时区。然后将公式单元格设置为日期时间格式。

这个公式的原理:

Excel的日期实际上是一个序列值,它以1900-1-1为1每天添加序列值1。而Unix时间戳派生自1970-1-1 0:00:00 UTC自开始以来经过的秒数。

用x表示时间戳,可以获取转换公式:
x+83600 当前时区的时间(秒)
(x+8
3600)/86400 将单位转换为天
(x+83600)/86400+70365 加上1900到1970这七十年
(x+83600)/86400+70365+19 闰年的额外天数

如果你细心,你会发现,1900年到1970年共是17闰年,考虑到Excel将1900-1-1当作1所以公式应该以18没错,为什么要添加它19?

这是Excel中的一个bug——1900年份也被认为是闰年,因此应再增加一天。
另请注意,在Excel的工具->选项->在重新计算中,有1904在年日期系统中,如果选中此选项,则上述公式应包括70改为66,即
=(x+83600)/86400+66365+19

版权声明

所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除

热门