在实际业务处理中,我们经常要处理跟时间相关的数据。mysql中时间我们一般用整形来保存时间戳,也有用date日期格式保存。mysql也提供了部分时间处理的函数,方便我们调取使用。

FROM_UNIXTIME 将时间戳转换为日期格式,标准为'1997-10-04 22:23:00'
格式如下:
FROM_UNIXTIME(unix_timestamp)  或 FROM_UNIXTIME(unix_timestamp,format) 
其中 unix_timestamp 为时间戳,整形格式

> select FROM_UNIXTIME(add_time) from user limit 10;
输出完整日期时间格式,format默认为 "%Y-%m-%d %H:%i:%s"
> select FROM_UNIXTIME(add_time,'%Y-%m-%d') from user limit 10;
输出日期格式

> select FROM_UNIXTIME(add_time,'%Y-%m-%d') as cdate,count(*) from eb_user where status=1 group by cdate
按照日期进行分组

如果数据库字段保存的是日期时间格式,如果转换为其他时间格式或转换为时间戳了?
使用DATE_FORMAT函数,可以将 日期时间格式的字段转换为 其他时间格式
DATE_FORMAT(date,format) 
> select date_format('2023-09-11 22:13:15',"%Y/%m%d")
输出 2023/09/11

使用UNIX_TIMESTAMP可以将日期格式转换为时间戳,默认获取当前时间戳
> select unix_timestamp();
获取当前时间的时间戳

> select unix_timestamp('2022-10-01 08:00');
获取 2022-10-01 08:00 对应的时间戳 数据

点赞(19) 打赏

评论列表 共有 0 条评论

暂无评论
返回
顶部