PHP实现时间日期友好显示实现代码

yipeiwu_com6年前PHP代码库

系统的友好性在开发过程中是非常重要的,一个系统非常友好不光可以带给用户非常棒的使用体验,而且还可以使系统有这更长的寿命。今天这篇博文主要来展示一个我们如何让日期时间更加友好的显示。

下面就是使时间日期友好显示的代码:核心代码

<?php
 
 /**
  * =======================================
  * Created by Zhihua_W.
  * Author: Zhihua_W
  * Date: 2016/11/23 0001
  * Time: 下午 5:45
  * Project: PHP开发小技巧
  * Power: 实现日期时间友好显示
  * =======================================
  */
 
 /**
  * 日期时间友好显示
  * @param $time
  * @return bool|string
  */
 function friend_date($time)
 {
  if (!$time) {
   return false;
  }
  $fdate = '';
  $d = time() - 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;
 }
 
 
 $time = 1442345132;
 echo friend_date($time);

相关文章

PHP的Yii框架的常用日志操作总结

日志 Yii提供了一个高度自定义化和高扩展性的日志框架。根据使用场景的不同,你可以很容易的对各种消息就行记录、过滤、合并,比如说文本文件,数据库文件,邮件。 使用Yii的日志框架包含如下...

简单了解将WordPress中的工具栏移到底部的小技巧

简单了解将WordPress中的工具栏移到底部的小技巧

从 WordPress 3.1 开始引入了工具栏的概念,当用户登录后在前台和后台的页面顶部会显示一个黑色的工具栏,通过工具栏可以快捷地新建文章、页面、媒体、用户,以及查看文章和评论等功能...

详解php的socket通信

详解php的socket通信

 对 TCP/IP 、 UDP 、 Socket 编程这些词你不会很陌生吧?随着网络技术的发展,这些词充斥着我们的耳朵。 那什么是TCP/IP、UDP? TCP/IP(Tran...

Linux下实现PHP多进程的方法分享

PHP多进程:使用PHP的Process Control Functions(PCNTL/线程控制函数) 函数参考可见:http://www.php.net/manual/zh/ref....

自己在做项目过程中学到的PHP知识收集

1 在SQL语句中可通过添加限制条件:left(text,20)只取text文本的前20个字; 2 可以用limit fromRecord, RecordNum 来作为分页使用,比如li...