mysql 实现不同的时间间隔 显示不同的时间单位。

clipboard.png

类似于这样的。

1分钟内以秒为单位
1小时内以分钟为单位
1天(24小时)内以小时为单位
1月内以天为单位....

以此类推。

sql 该如何编写??

阅读 4.1k
5 个回答

嗯...为什么不在前端处理?sql只用对时间排序取出来就行了啊!

如果说是使用php的话
应该可以使用PHP实现
可以看看DateTime对象的diff方法
对你应该有帮助

建议在拿到数据后后台语言处理一下再交给前台,或者前台这一个格式规则用来转换。处理起来都很快

推荐你一个类库:https://github.com/briannesbi...

use Carbon\Carbon;

Carbon::setLocale('zh');  // 设置语言
        
$now = Carbon::now();  // 当前时间

echo Carbon::parse('2016-09-11 11:11:11')->diffForHumans($now);

// 输出:3天前

直接从数据库中取出记录插时的时间字段,然后通过后台来处理,大概处理的思路是这样:
'时间间隔'='当前时间'-'数据库中的时间'
判断'时间间隔'如果小于一分钟,以秒为单位返回,小于一小时,以分为单位返回,以此类推。返回简单点的直接返回一个字符串,例如:
如果 '时间间隔' 小于一分钟

返回 '秒数'+"秒"
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题