基于微信朋友圈实现时间显示样式

基于微信朋友圈实现时间显示样式

微信群聊显示群昵称还是微信名_php获取当天结束时间戳 24_微信支付显示系统升级多少时间

来源:blog.csdn.net/weixin_44000238

1.简介

小编在校写微册项目的时候,有一个主页动态,说白了就跟朋友圈差不多,但是到最后做出的效果并不是让我特别满意,因为每一个动态信息的日期显示都是”XXXX-XX-XX XX:XX:XX”,字幅太长,所以小编就想到了朋友圈的时间显示样式,如果当天发布的日期跟当前时间作比较,显示“两分钟前”,那就好看多了

2.函数介绍

小编在这里介绍几个需要用到的底层函数

3.计算时间差

$startdate=date('Y-m-d H:i:s');    //当前时间$enddate="2020-12-12 12:12:12";     //结束时间$date=floor((strtotime($enddate)-strtotime($startdate))/86400);echo "相差天数:".$date."天

";
$hour=floor((strtotime($enddate)-strtotime($startdate))%86400/3600);echo "相差小时数:".$hour."小时

";
$minute=floor((strtotime($enddate)-strtotime($startdate))%86400/60);echo"相差分钟数:".$minute."分钟

";
$second=floor((strtotime($enddate)-strtotime($startdate))%86400%60);echo"相差秒数:".$second."秒";

使用 strtotime 转换而来的都是长整形的一个变量,两个长整形的变量就可以做减法啦。

做减法得到的值时秒数,这个秒数对86400(一天的秒数)取余,则得到相差数。如果对86400取模,还对3600秒、60秒取余,则得到相关的小时和分钟数。如果对86400取模,再对60取模,则得到相差的秒数。

这里的取小时数/分钟数,只能在24小时内/60分钟内,因为一天不能超过24个小时,一小时不能超过60分,如果我想取剩余26个小时就不能用这个方法做了

4.基于微信朋友圈实现时间显示样式

以下这张图片是更改前的数据,时间显示如图所示

php获取当天结束时间戳 24_微信支付显示系统升级多少时间_微信群聊显示群昵称还是微信名

定义一个timer方法传入指定的数组,代码如下

public function timer(array $array){        //获取当前时间 & 时 & 分        $today = date('Y-m-d H:i:s');        $D = date('d');        $H = date('H');        $M = date('i');        foreach ($array as $key => $value) {            $d = substr($value['create_time'], 8, 2);      //获取创建日期:单位:日            $h = substr($value['create_time'], 11, 2);     //获取发布创建日期:单位:时            $m = substr($value['create_time'], 14, 2);     //获取发布创建日期:单位:时            //获取当前时间与发布时间的相差的天数            $date = (strtotime($today) - strtotime($value['create_time'])) / 86400;            switch ($date) {                // date<1 表示时间差在24小时内                case $date < 1:                    if ($D != $d) {  //判断当前日期是否相同,不相同则(24-发布日期+当前时间)                        $hour = 24 - $h + $H;                    } else {                        $hour = abs($H - $h);    //发布如期与当前时间相同则取两数相减的绝对值                    }                    if ($hour < 1) {                        if ($m == $M) {                            $array[$key]['create_time'] = "刚刚";                            break;                        } else if ($m < $M) {                            $minute = $M - $m;                            $array[$key]['create_time'] = $minute . "分钟前";                            break;                        } else {                            $minute = 60 - $m + $M;                            $array[$key]['create_time'] = $minute . "分钟前";                            break;                        }                    } else {                        $array[$key]['create_time'] = $hour . "小时前";                        break;                    }                    break;                case $date < 2:                    $array[$key]['create_time'] = "昨天";                    break;                case $date < 3:                    $array[$key]['create_time'] = "两天前";                    break;                default:                    $array[$key]['create_time'] = $array[$key]['create_time'];                    break;            }        }        return $array;    }

更改好后的时间显示格式如下,是不是就跟朋友圈的时间格式一样啦?

效果如下图‘create_time字段’所示

微信群聊显示群昵称还是微信名_微信支付显示系统升级多少时间_php获取当天结束时间戳 24

在这里基于微信朋友圈实现时间显示样式到此结束啦,由于这篇文章是过去写的,代码现在自己都看不下去了,哈哈哈哈,等哪天有空了,可以用枚举数据优化一下,在这里就先简单介绍,需要直接引用就行啦。

简单分享快乐学习,如有错误请多包涵!

PS:如果没有你的关注,那我所做的将毫无意义!欢迎分享,点赞,在看。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注