MySQL 日期和时间戳的转换


数据库中时间戳概念:
把时间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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM