使用NOW()或CURRENT_timestamp获取当前日期时间,CURDATE()获取当前日期,unix_TIMESTAMP()获取Unix时间戳,FROM_UNIXTIME()将时间戳转为日期时间格式。

在mysql中获取当前时间或时间戳非常常见,主要用于记录数据的创建或修改时间。以下是几种常用的方法和函数,帮助你准确获取当前时间与时间戳。
获取当前日期和时间
使用 NOW() 或 CURRENT_TIMESTAMP 可以获取当前的日期和时间(包含年月日时分秒):
NOW()
CURRENT_TIMESTAMP
示例:
select NOW(); — 返回类似:2025-04-05 10:30:45
这两个函数返回的是当前会话所在时区的时间,格式为 DATETIME 类型。
获取当前日期(不含时间)
如果只需要日期部分,可以使用 CURDATE():
CURDATE()
示例:
SELECT CURDATE(); — 返回:2025-04-05
获取当前时间戳(Unix Timestamp)
使用 UNIX_TIMESTAMP() 可以获取当前的 Unix 时间戳(从1970-01-01 00:00:00 UTC开始的秒数):
UNIX_TIMESTAMP()
示例:
SELECT UNIX_TIMESTAMP(); — 返回类似:1743817845
也可以将指定时间转为时间戳:
SELECT UNIX_TIMESTAMP(‘2025-04-05 10:30:00’);
将时间戳转换回日期时间
使用 FROM_UNIXTIME() 可以把 Unix 时间戳还原为可读的日期时间格式:
FROM_UNIXTIME(1743817845)
示例:
SELECT FROM_UNIXTIME(UNIX_TIMESTAMP()); — 返回当前时间的DATETIME格式
还可以自定义输出格式:
SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(), ‘%Y-%m-%d %H:%i:%s’);
基本上就这些常用方法。根据实际需求选择合适函数即可,比如记录创建时间通常用 NOW(),而做时间计算或存储时可能更倾向使用 UNIX_TIMESTAMP()。


