数据库中时间戳概念:
把时间t转换成从 1970-01-01 00:00 开始到时间t所经过的秒数。这个数值就是时间t对应的时间戳。
由于是数值方便比较和运算

1.日期转时间戳

-- 转十位 select UNIX_TIMESTAMP('2018-12-25 12:25:00');

结果:1545711900

-- 转十三位 SELECT REPLACE(unix_timestamp(current_timestamp(3)),'.','');

结果:1545711900021

2.时间戳转日期:

FROM_UNIXTIME(unix_timestamp) --unix_timestamp为时间戳

-- 十位转 select FROM_UNIXTIME(1545711900);

结果:2018-12-25 12:25:00

有些应用生成的时间戳是比这个多出三位,是毫秒表示,如果要转换,需要先将最后三位去掉(标准的10位数字,如果是13位的话可以以除以千的方式)

-- 十三位转 select FROM_UNIXTIME(1597536937000/1000);

结果:2020-08-16 08:15:37.0000

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐