MySQL/MariaDB 日期转时间戳/时间戳转日期
#日期转换为时间戳,使用 UNIX_TIMESTAMP()
函数。例如:
SELECT UNIX_TIMESTAMP('2024-03-25 12:00:00');
#时间戳转换为日期,使用 FROM_UNIXTIME()
函数。例如:
SELECT FROM_UNIXTIME(1710259199.999999);
#系统时间操作
-- 系统时间 yyyy-MM-dd HH:MM:SS 格式
select now(0)
union
select current_timestamp(0);
-- 系统时间 时间戳格式 (可包含 3位毫秒(ms)但是毫秒(ms)前带 . 号)
select unix_timestamp(now(3));
-- 系统时间 时间戳格式 (可包含 3位毫秒(ms)去除 毫秒(ms)前带的 . 号)
select unix_timestamp(now(3)) * 1000;
-- 或
select replace(unix_timestamp(now(3)),'.','');
-- 时间整天,不包含时分秒,要考虑时区 28800=8*60*60 | 57600=16*60*60 | 86400=24*60*60 |
SELECT FROM_UNIXTIME(floor(UNIX_TIMESTAMP(NOW()) / 57600) * 57600) AS date_time;
SELECT FROM_UNIXTIME(floor(unix_timestamp(date_sub(now(), interval 3 day)) / 57600) * 57600)
#实际操做
SELECT @sT := UNIX_TIMESTAMP('2024-03-25 00:00:00');
SELECT @eT := UNIX_TIMESTAMP('2024-03-25 00:00:00') - 1;
select FROM_UNIXTIME(@sT);
select FROM_UNIXTIME(@eT);