时间戳入门:先弄清秒、毫秒与时区这三件事

举报
yd_220574054 发表于 2026/11/08 07:58:00 2026/11/08
【摘要】 时间戳是一串数字表示的时间。本文讲清三个入门点:时间戳的含义、秒级与毫秒级的区别、以及时区对显示的影响,帮你避开最常见的三个错误。

第一次看接口返回的时间,很多人都会愣一下:1700000000这样一串数字,怎么看都不是时间。可它偏偏就是时间,而且是程序世界里最常用的时间写法。今天就把时间戳这件事讲清楚,只抓三个点:秒、毫秒和时区。


一、时间戳是什么

时间戳就是从一个固定起点到某个时刻经过的秒数。这个起点是1970年1月1日0点0分0秒,程序员常叫它纪元。把时间存成一个数字,好处很实在:比较大小就是比较数字大小,算两个时刻差几天就是做减法,不用再去对年月日时分秒一个一个换算。数据库里存时间戳、接口传时间戳,都是图这个省事。


二、秒和毫秒,别差一千倍

时间戳有两种常见单位。一种是秒级,10位数字,比如1700000000;一种是毫秒级,13位数字,比如1700000000000。后者就是前者乘以1000,多了三位。初学者最常踩的坑,就是把毫秒当成秒来用,或者把秒当成毫秒来传,时间一下子就跑到几万年以后,或者缩回1970年。拿到一串时间戳,先数数它有几位:10位按秒算,13位按毫秒算,再去换算,这一步千万别省。如果是13位却按秒处理,显示的日期会错得离谱,这是接口联调时最容易互相误会的地方。


三、时区:同一个数字,不同的钟表

时间戳本身没有时区,它记录的是一个绝对时刻。把它变成人能看懂的年月日时分秒,才需要时区。同样一个时间戳,在北京显示是下午三点,在伦敦显示就是早上七点,数字没变,变的是读它的那口钟。存时间用时间戳、展示时间再换算成本地时区,是最不容易出错的做法。反过来,把带时区的本地时间直接当成时间戳去比较,跨时区的两个人就会各说各话。


四、三个最常见的错误

第一是把秒和毫秒混用,位数一错,日期全错。第二是只看本地时间不看时区,同一时刻在两地显示不同就以为是数据错了。第三是把时间戳当成字符串去比较大小,字符串比较是按字符一位一位比的,和数字大小不是一回事,排序结果常常出人意料。遇到时间对不上的问题,先核对单位,再核对时区,最后核对类型,大部分问题都在这三步里。


五、一个小练习

给自己出一道小题:找一个你熟悉的时刻,比如今天早上九点,先把它换算成秒级时间戳,再乘以1000变成毫秒级;然后分别用北京时间和零时区去读它,看看差了几个小时。能把这三件事一次讲对,时间戳就算入门了。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。