php 时间转化为刚刚、几秒前、几分前、几天前等等,友好时间提示
2024-09-02 10:49:39
/
* 友好时间显示
*/
function date_friend_tips($time){
if (!$time)
return false;
if(!is_numeric($time)){
$time = strtotime($time);
}
$d = TIMESTAMP - intval($time);
$ld = $time - mktime(0, 0, 0, 0, 0, date('Y')); //得出年
$md = $time - mktime(0, 0, 0, date('m'), 0, date('Y')); //得出月
$byd = $time - mktime(0, 0, 0, date('m'), date('d') - 2, date('Y')); //前天
$yd = $time - mktime(0, 0, 0, date('m'), date('d') - 1, date('Y')); //昨天
$dd = $time - mktime(0, 0, 0, date('m'), date('d'), date('Y')); //今天
$td = $time - mktime(0, 0, 0, date('m'), date('d') + 1, date('Y')); //明天
$atd = $time - mktime(0, 0, 0, date('m'), date('d') + 2, date('Y')); //后天
if ($d == 0) {
$fdate = '刚刚';
} else {
switch ($d) {
case $d < $atd:
$fdate = date('Y年m月d日', $time);
break;
case $d < $td:
$fdate = '后天' . date('H:i', $time);
break;
case $d < 0:
$fdate = '明天' . date('H:i', $time);
break;
case $d < 60:
$fdate = $d . '秒前';
break;
case $d < 3600:
$fdate = floor($d / 60) . '分钟前';
break;
case $d < $dd:
$fdate = floor($d / 3600) . '小时前';
break;
case $d < $yd:
$fdate = '昨天' . date('H:i', $time);
break;
case $d < $byd:
$fdate = '前天' . date('H:i', $time);
break;
case $d < $md:
$fdate = date('m月d日 H:i', $time);
break;
case $d < $ld:
$fdate = date('m月d日', $time);
break;
default:
$fdate = date('Y年m月d日', $time);
break;
}
}
return $fdate;
}
最新文章
- sql server 导出表结构到 word
- 关于对CSS尺寸单位&#39;em&#39;的长期误解
- 一个简单的通用Makefile实现
- 九、DAG hierarchy
- eclipse原文件编码GBK-UTF8
- 在唯一密钥属性“name”设置为“ScriptHandlerFactory”时,无法添加类型为“add”的重复集合项
- Euro Efficiency_完全背包
- BZOJ 1088
- oracle数据库 参数open_cursors和session_cached_cursor详解!
- ubuntu16.04-x64系统中Jexus web server部署.NetCore和端口分析引发的猜想!
- 办公楼[POI2007]
- JAVA 第二天 基本数据类型
- Linux(Centos)设置ip
- composer的安装以及具体使用
- 小甲鱼Python第十四课后习题
- Centos7.4安装kvm虚拟机(使用virt-manager管理)
- golang gorilla websocket例子
- axaj 的回调
- PatePoco中对sql参数化时Top参数化的问题
- springMVC 开涛 Controller接口控制器