=TEXT((A2/1000+8*3600)/86400+70*365+19,"yyyy-mm-dd hh:mm:ss.000")工具
=((B2-70*365-19)*86400-8*3600)*1000spa
什么是时间戳?
Unix时间戳(Unix timestamp),或称Unix时间(Unix time)、POSIX时间(POSIX time),是一种时间表示方式。3d
定义为从格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至如今的总毫秒数。blog
Excel里日期、时间字段,其实是序列值,它以1900-1-0为0,每过一天序列值加1,而时间是小数。get
(A2/1000+8*3600)/86400+70*365+19 的理解it
A2/1000:由毫秒转换秒,注意:若是timeStmap是秒,就不用除1000了。map
8*3600:由GMT 0时区转到GMT +8时区bug
86400:由秒转到天(=24*60*60)im
70*365:70年的差值(timeStamp与Excel计算起点差别:1900年到1970年)时间戳
19:1900年到1970年共是17个闰年,考虑到Excel将1900-1-1看成1,那么公式最后应该加18才对,为何要加19?这是Excel中的一个bug——1900年也被看成闰年,所以应当再多加一天。另外要注意,在Excel的工具->选项中,有个1904年日期系统,若是勾选这个选项,上面的公式应当将70改成66。
在线转换工具:https://tool.lu/timestamp