使用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开始的秒数):MySQL(Linux)
MySQL 9.6.0是面向Linux平台的2026年创新版本,核心架构迎来重大革新。其将外键约束与级联操作从InnoDB引擎层上移至SQL层,确保所有数据变更均被完整记录至Binlog,彻底解决了CDC(变更数据捕获)与主从复制中的数据不一致难题。此外,该版本引入container_aware启动选项以原生适配容器环境,并对审计日志进行了组件化重构,为追求极致数据一致性与云原生体验的开发者提供了全新选择。
下载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()。
