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")
相关推荐
曹牧16 小时前
Excel:筛选两列中不匹配项
excel
それども17 小时前
Excel文件解析 - 什么是SAX和DOM
java·excel
それども17 小时前
Excel文件解析 - SAX和DOM方式的区别
java·前端·excel
それども17 小时前
Excel文件解析 - SAX startRow cell endRow 执行顺序
java·前端·excel
梦因you而美17 小时前
Python win32com操作Excel:彻底禁用链接更新及各类弹窗(实测有效)
python·excel·win32com·禁用链接更新·excel弹框
それども17 小时前
Excel文件解析 - SAX startRow cell endRow 执行时机
java·excel
HWL567917 小时前
在网页中实现WebM格式视频自动循环播放
前端·css·html·excel·音视频
开开心心就好2 天前
图片校正漂白工具永久免费,矫正实时预览
网络·人工智能·windows·计算机视觉·计算机外设·电脑·excel
开开心心_Every2 天前
音频视频转文字工具,离线语音识别免费
人工智能·游戏·微信·pdf·excel·语音识别·memcache
开开心心_Every2 天前
电脑网速加速工具,无线有线叠加网络
网络·游戏·微信·pdf·电脑·excel·语音识别