函数介绍

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

  • date :返回当前时间的时间戳,格式可以自行设置。

  • strtotime : strtotime() 函数将任何英文文本的日期或时间描述解析为 Unix 时间戳

  • substr(string,start,length):

  • string : 必需。规定要返回其中一部分的字符串。

  • start : 必需。规定在字符串的何处开始。

  • length : 可选。规定要返回的字符串长度。默认是直到字符串的结尾。

计算时间差

$startdate=date('Y-m-d H:i:s');    //当前时间
$enddate="2020-12-12 12:12:12";     //结束时间$date=floor((strtotime($enddate)-strtotime($startdate))/86400);
echo "相差天数:".$date."天<br><br>";$hour=floor((strtotime($enddate)-strtotime($startdate))%86400/3600);
echo "相差小时数:".$hour."小时<br><br>";$minute=floor((strtotime($enddate)-strtotime($startdate))%86400/60);
echo"相差分钟数:".$minute."分钟<br><br>";$second=floor((strtotime($enddate)-strtotime($startdate))%86400%60);
echo"相差秒数:".$second."秒";

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

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

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

定义一个 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;}

【黄啊码】微信朋友圈的几分钟/几小时前如何实现相关推荐

  1. 今天才知道,微信按下这个键,能在微信朋友圈发五分钟的视频

    我们在日常生活中,已经离不开了微信,我们用它互相交流,看到好看的视频也会将它分享给身边的朋友,但是朋友圈视频最多只能够发15秒,这就让人有点不开心,别怕,小编来教大家如何发长视频. 一.利用笔记发送 ...

  2. android类似QQ空间,微信朋友圈,微博主页源码

    2019独角兽企业重金招聘Python工程师标准>>> 类似QQ空间,微信朋友圈,微博主页等,展示图片的九宫格控件,自动根据图片的数量确定图片大小和控件大小,使用Adapter模式设 ...

  3. 首发全DIY强大微信朋友圈截图制作生成小程序源码下载点赞,评论等等

    这是一款朋友圈截图制作的一款小程序源码 主要的特点是DIY,之前小编发布过朋友圈截图的小程序 不管之前那款小程序只能生成点赞数量,无法获取用户名等等 但是这一款就不一样了,这一款刚刚也说了特点是DIY ...

  4. DIY微信朋友圈截图制作生成小程序源码下载

    这是一款朋友圈截图制作的一款小程序源码 主要的特点是DIY,之前小编发布过朋友圈截图的小程序 不管之前那款小程序只能生成点赞数量,无法获取用户名等等 但是这一款就不一样了,这一款刚刚也说了特点是DIY ...

  5. 微信小程序参数二维码生成朋友圈分享图片

    前言 小程序目前无法分享到微信朋友圈,可朋友圈是一个非常重要的传播途径,所以得想办法把这个资源利用起来 微信小程序支持通过扫描/长按识别二维码或小程序码图片的方式进入一个小程序首页或小程序中某个特定页 ...

  6. 小程序源码:朋友圈集赞万能截图生成器微信小程序源码下载

    大家好这是一款朋友圈积攒截图小程序 里面内涵三款样式生成,一款图文,一款分享,一款查看的样式 也就是我们微信朋友圈所用到的样式就包含了 里面的流量主 那些可以用户自由的添加哈! 赞的数量那些可以用户自 ...

  7. QQ、微信先后上线“面对面红包”,QQ红包二维码刷屏朋友圈

    1月23日,微信朋友圈里面突然被一批红色二维码刷屏,一方面因为微信当天推出的"面对面红包"被分享到朋友圈,更多的则是此前在1月13日手机QQ推出的"面对面红包" ...

  8. 【Android 控件使用及源码解析】 GridView规则显示图片仿微信朋友圈发图片

    今天闲下来想用心写一点东西,发现没什么可写的,就写一下最近项目上用到的一些东西吧.最近项目要求上传多图并且多图显示,而且要规则的显示,就像微信朋友圈的图片显示一样. 想了一下用GridView再适合不 ...

  9. 小程序源码:首发全DIY强大微信朋友圈截图制作生成小程序

    这是一款朋友圈截图制作的一款小程序源码 主要的特点是DIY,之前小编发布过朋友圈截图的小程序 不管之前那款小程序只能生成点赞数量,无法获取用户名等等 但是这一款就不一样了,这一款刚刚也说了特点是DIY ...

最新文章

  1. 探索 MongoDB--转
  2. dz seo插件_河北seo优化网络推广报价单
  3. ios微信本地视频上传到服务器,ios本地视频wx.uploadFile上传
  4. vue中$watch源码阅读笔记
  5. C++11新特性——auto和decltype
  6. 基于 koajs 的前后端分离实践
  7. LoRa无线通信设计(一)原理
  8. Windows 32位程序内存扩展
  9. 电脑查看连接过的WiFi密码
  10. 【控制工程】PID控制的原理和特点
  11. MySQL数据库学习笔记(2)
  12. Shopee招聘主页下面一排建筑简笔画代表哪里
  13. 淘宝迈入智能时代 技术就是要实打实解决商业问题
  14. struts2《轻量级框架应用与开发--S2SH》笔记
  15. HTML5实现立方体及透视效果
  16. Be All That You Can Be(做你自己)
  17. 众云电商加入安全联盟可信验证服务中心
  18. 阿里巴巴暑期实习生笔试
  19. Python快速实现选择排序
  20. 计算机一级考试题 百度云盘,【一级建造师历年真题网盘_2021年一级建造师历年试题】- 环球网校...

热门文章

  1. 深度解析UG二次开发装配的部件事件、部件原型和部件实例
  2. KERMIT,XMODEM,YMODEM,ZMODEM传输协议小结【转】
  3. 谈谈WebService开发-基础篇
  4. 计算机色颜色有几种,电脑显示器怎么选?10、8、6bit不同色深都有哪些区别?...
  5. 特斯拉神器TeslaMate一键安装,终于来了
  6. Mac下Tesseract-OCR文字识别新手使用入门
  7. Python实现支持向量机(基于双月数据集)
  8. 技术、商业和创新的彼岸:“被折叠”的三星
  9. 简单方法适配IphoneXS Iphone XR IphoneXS MAX
  10. pythonfor循环文件写入失败_Python:使用for循环写入文件