excel中,将时间戳(ms或s)转换成yyyy-MM-dd hh:mm.ss或毫秒格式

问题

在一些输出为时间戳的文本中,按照某种格式显示更便于查看。

如下,第一列为时间戳(s),第二列是转换后的格式。

解决方案:

公式输入框中输入:yyyy/mm/dd hh:mm:ss

cpp 复制代码
=TEXT((A1+8*3600)/86400+70*365+19, "yyyy/mm/dd hh:mm:ss")

其中,A1为需要转换格式的列。

(A1+83600):当前时区的时间(s);+8是因为咱们使用的是北京时间(东八区),比0时区要加8小时,即UTC+8;
(A1+8
3600)/86400:将秒转换为天;

(A1+83600)/86400+70 365:加上1970年-1900年的70年;

(A1+83600)/86400+70 365+19:加上闰年多出来的天数19;

Excel的日期实际上是序列值,它以1900/1/1为开始,每过一天序列值加1;Unix时间戳是从1970-1-1 0:00:00开始到现在的秒数。

细心的你可能会发现,1900年至1970年一共17个闰年(即1904、1908、1912、1916、1920、1924、1928、1932、1936、1940、1944、1948、1952、1956、1960、1964、1968),Excel如果将1900/1/1当作1,那么公式最后应该加18才对,为什么要加19呢?这应该是Excel的一个小倔强。

yyyy/mm/dd hh:mm:ss.000

如果要转换为ms,需要进行以下转换

cpp 复制代码
=TEXT((A1+8*3600)/86400+70*365+19, "yyyy/mm/dd hh:mm:ss.000")
相关推荐
Happy_ju_an6 分钟前
Excel中一次查询返回多列
excel·wps
珊珊来吃9 分钟前
EXCEL中给某一列数据加上双引号
java·前端·excel
xuexixuexien20 分钟前
.NetCore WebAPI 导入、导出Excel文件
windows·excel·.netcore
唐沢3 小时前
Unity 读Excel,读取xlsx文件解决方案
unity·excel
一根稻草君4 小时前
利用poi写一个工具类导出逐级合并的单元格的Excel(通用)
java·excel
鱼钓猫的小鱼干6 小时前
table 表格转成 excell 导出
前端·vue·excel
域智盾-运营小韩7 小时前
excel技巧:excel文件怎么加密防止泄密?加密Excel文件的四种方法
excel
是小崔啊14 小时前
开源轮子 - EasyExcel02(深入实践)
java·开源·excel
龙虎榜小红牛系统1 天前
使用Excel制作通达信自定义“序列数据“
excel·股票·通达信
Py办公羊大侠1 天前
Excel批量设置行高,Excel表格设置自动换行后打印显示不全,Excel表格设置最合适的行高后打印显示不全,完美解决方案!!!
python·excel·打印·openpyxl·自动换行·显示不全