因為你剝離出來的代碼對小時只對同一小時的情況進行了判斷,并未判斷相鄰小時但相差60分鐘內(nèi)的情況,因此,我加了一個gapHour的變量用來代表小時差,當(dāng)時間相差60分鐘內(nèi),做一個if判斷,如果同一小時默認(rèn)處理($gapHour==0),相差一個小時時($gapHour==1),再做相應(yīng)的處理。functiondateWord($from){$now=time();$between=$now-$from;$s=date('Y年m月d日H:i',$from);$fromHour=idate('H',$from);$nowHour=idate('H',$now);$gapHour=$nowHour-$fromHour;if($between>0&&$between<86400&&idate('d',$from)==idate('d',$now)){if($between<3600){if($gapHour==0){if($between<60&&idate('i',$from)==idate('i',$now)){$second=idate('s',$now)-idate('s',$from);if(0==$second){return'剛剛';}else{return''.$second.'秒前';}}$min=idate('i',$now)-idate('i',$from);return''.$min.'分鐘前';}elseif($gapHour==1){if($between<60&&idate('i',$from)==idate('i',$now)){$second=idate('s',$now)+(60-idate('s',$from));if(0==$second){return'剛剛';}else{return''.$second.'秒前';}}$min=idate('i',$now)+(60-idate('i',$from));return''.$min.'分鐘前';}}$hour=idate('H',$now)-idate('H',$from);return''.$hour.'小時前';}}