场景在现:
数据库中保存的时间使用的是yyyy-MM-dd HH:mm:ss格式,前端传过来是时间戳,那么如何比较这两个时间呢?
解决方案:
用时间戳比较大小比较准确,所以将数据库中时间取出来转换成时间戳与前端传过来的时间戳作比较。
用到了unix_timestamp函数:
<if test="query.needTimeBegin != null and query.needTimeBegin != ''">
UNIX_TIMESTAMP(shelves_time) >= #{query.needTimeBegin}
</if>
扩展:
一.
1.返回当前时间的时间戳
select unix_timestamp();
2.如果参数date满足yyyy-MM-dd HH:mm:ss形式,则可以直接unix_timestamp(string date) 得到参数对应的时间戳或者满足yyyy-MM-dd形式
select unix_timestamp('2018-12-05 01:10:00','yyyy-MM-dd HH:mm:ss');
select unix_timestamp('2018-12-05','yyyy-MM-dd');
二. from_unixtime函数用法
1.相反的把时间戳转换成时间格式
from_unixtime(tt)
2.tt为10位数的时间戳
select from_unixtime(1543943400);
3.from_unixtime(tt,‘yyyy-MM-dd’) 可以加上时间格式
select from_unixtime(1543943400,'yyyy-MM-dd');
本文共 168 个字数,平均阅读时长 ≈ 1分钟
评论 (0)