MySQL 获取当前时间的秒级、毫秒级时间戳
封面图
•
2025-11-21
•
MySQL
335
0
0
0
在 MySQL 中,你可以使用内置函数来获取当前时间的 **秒级** 和 **毫秒级** 时间戳。 --- ### 一、获取 **秒级时间戳**(Unix 时间戳) ```sql SELECT UNIX_TIMESTAMP(); ``` - 返回的是从 **1970-01-01 00:00:00 UTC** 到现在的 **秒数**。 - 示例输出:`1718652345` --- ### 二、获取 **毫秒级时间戳** MySQL 的 `UNIX_TIMESTAMP()` 函数默认只返回秒级时间戳。要获取 **毫秒级时间戳**,可以使用以下方法: #### 方法 1:使用 `NOW(6)` 获取精确到微秒的时间,再转换为毫秒 ```sql SELECT FLOOR(UNIX_TIMESTAMP(NOW(6)) * 1000) AS milliseconds; ``` - `NOW(6)` 表示精确到微秒(6位小数)。 - `UNIX_TIMESTAMP(NOW(6))` 返回秒级时间戳(带小数部分)。 - 乘以 1000 得到毫秒级时间戳。 - `FLOOR` 是为了防止浮点精度问题。 #### 方法 2:直接使用 `TIMESTAMPDIFF`(不推荐,不如第一种直观) --- ### 三、完整示例 ```sql -- 秒级时间戳 SELECT UNIX_TIMESTAMP() AS second_timestamp; -- 毫秒级时间戳 SELECT FLOOR(UNIX_TIMESTAMP(NOW(6)) * 1000) AS millisecond_timestamp; ``` --- ### 四、注意事项 - `NOW(6)` 需要 MySQL 5.6.4 或更高版本支持。 - 如果你使用的是较旧版本的 MySQL,可能无法使用 `NOW(6)`,这时候可以考虑用其他方式(如应用层处理)。 --- 如果你有特定的 MySQL 版本或使用场景,我可以提供更详细的帮助。
上一篇:
MySQL导入多个.sql文件高效方法
下一篇:
mysql查询,让结果按10,32,22,76,13,44的顺序检索出来
标题录入,一次不能超过6条
留言
评论