Unix时间戳转换Excel时间
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Unix时间戳转换Excel时间
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。