【黄啊码】微信朋友圈的几分钟/几小时前如何实现
生活随笔
收集整理的這篇文章主要介紹了
【黄啊码】微信朋友圈的几分钟/几小时前如何实现
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
函數介紹
小編在這里介紹幾個需要用到的底層函數
-
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;}總結
以上是生活随笔為你收集整理的【黄啊码】微信朋友圈的几分钟/几小时前如何实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【电脑常用办公软件】万彩办公大师教程丨截
- 下一篇: 《码处高效:Java开发手册》之代码风格