WEB开发网
开发学院软件教学办公软件Excel Excel中导入Unix格式时间戳小技巧 阅读

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

 2009-07-29 14:33:24 来源:WEB开发网   
核心提示:Excel默认不支持Unix格式时间戳,这在导入数据时十分不便,Excel中导入Unix格式时间戳小技巧,可以用以下公式将时间戳转换成Excel格式的时间:=(x+8*3600)/86400+70*365+19 其中x为时间戳的单元格,8*3600中的8为中国的时区,有个1904年日期系统,如果勾选这个选项,然后将公
Excel默认不支持Unix格式时间戳,这在导入数据时十分不便。可以用以下公式将时间戳转换成Excel格式的时间:
=(x+8*3600)/86400+70*365+19

   其中x为时间戳的单元格,8*3600中的8为中国的时区。然后将公式单元格设置为日期时间格式即可。转换结果如下图:

   这个公式的原理:Excel的日期实际上是序列值,它以1900-1-1为1,每过一天序列值加1。而Unix时间戳是从1970-1-1 0:00:00 UTC开始到现在经过的秒数。用x表示时间戳,可得到换算公式:

x+8*3600           当前时区的时间(秒)
(x+8*3600)/86400       转换单位为天
(x+8*3600)/86400+70*365   加上1900到1970这七十年
(x+8*3600)/86400+70*365+19  闰年多出来的天数

   细心的话你会发现,1900年到1970年共是17个闰年,考虑到Excel将1900-1-1当作1,那么公式最后应该加18才对,为什么要加19?这是Excel中的一个bug——1900年也被当作闰年,因此应当再多加一天。

   另外要注意,在Excel的工具->选项->重新计算中,有个1904年日期系统,如果勾选这个选项,上面的公式应当将70改为66,即

=(x+8*3600)/86400+66*365+19

Tags:Excel 导入 Unix

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接