由于项目需要将原有的数据导入到新项目中,而原有的数据时间格式是excel的日期格式,即xxxx/xx/xx的样子,而新项目的时间格式是以unix timestamp来存储的,所以这里需要借助excel的函数来中转一下。
代码如下 | 复制代码 |
INT((B2-70*365-19)*86400-8*3600) |
B2为原来的日期格式xxxx/xx/xx,EXCEL的时间是从1900年1月1日开始算的,而unix的时间戳则是1970年1月1日,所以这里需要减去70*365年的天数,后面-19为计算当日的微调,之前经过的时间闰年的天数,后面的8*3600是时区时差,86400是一天的秒数。
比如2014/3/27经过转换就会变成1395849600数字,这个数字就是unix下的时间戳。
补充:
UNIX时间戳的0按照ISO 8601规范为 :1970-01-01T00:00:00Z.
一个小时表示为UNIX时间戳格式为:3600秒;一天表示为UNIX时间戳为86400秒,闰秒不计算。
在大多数的UNIX系统中UNIX时间戳存储为32位,这样会引发2038年问题或Y2038。
时间 |
秒 |
1 分钟 |
60 |
1 小时 |
3600 |
1 天 |
86400 |
1 周 |
604800 |
1 月 (30.44 天) |
2629743 |
1年 (365.24 天) |
31556926 |
时间: 2024-10-11 04:46:27