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


Posted in PHP onSeptember 08, 2019

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

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

<?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 相关文章推荐
elgg 获取文件图标地址的方法
Mar 20 PHP
php设计模式 Visitor 访问者模式
Jun 28 PHP
关于尾递归的使用详解
May 02 PHP
php中ob_get_length缓冲与获取缓冲长度实例
Nov 20 PHP
php实现根据IP地址获取其所在省市的方法
Apr 30 PHP
php中实现用数组妩媚地生成要执行的sql语句
Jul 10 PHP
php实现简单的上传进度条
Nov 17 PHP
PHP使用内置函数生成图片的方法详解
May 09 PHP
php中引用&amp;的用法分析【变量引用,函数引用,对象引用】
Dec 12 PHP
详解PHP函数 strip_tags 处理字符串缺陷bug
Jun 11 PHP
PHP实现求解最长公共子串问题的方法
Nov 17 PHP
PHP发送邮件确认验证注册功能示例【修改别人邮件类】
Nov 09 PHP
PHP中将一个字符串部分字符用星号*替代隐藏的实现代码
Sep 08 #PHP
Yii框架连表查询操作示例
Sep 06 #PHP
Laravel框架中缓存的使用方法分析
Sep 06 #PHP
Laravel框架实现的上传图片到七牛功能详解
Sep 06 #PHP
浅析PHP7 的垃圾回收机制
Sep 06 #PHP
PHP的介绍以及优势详细分析
Sep 05 #PHP
laravel5.1框架基础之Blade模板继承简单使用方法分析
Sep 05 #PHP
You might like
PHP伪静态写法附代码
2008/06/20 PHP
Discuz Uchome ajaxpost小技巧
2011/01/04 PHP
destoon调用自定义模板及样式的公告栏
2014/06/21 PHP
PHP针对多用户实现更换头像功能
2016/09/04 PHP
php将print_r处理后的数据还原为原始数组的解决方法
2016/11/02 PHP
老生常谈ThinkPHP中的行为扩展和插件(推荐)
2017/05/05 PHP
PHP单例模式与工厂模式详解
2017/08/29 PHP
PHP获取MySQL执行sql语句的查询时间方法
2018/08/21 PHP
jquery监控数据是否变化(修正版)
2011/04/12 Javascript
jQuery操作 input type=checkbox的实现代码
2012/06/14 Javascript
JavaScript数组常用方法
2015/03/02 Javascript
jQuery simpleModal插件的使用介绍
2016/08/30 Javascript
jQuery通过改变input的type属性实现密码显示隐藏切换功能
2017/02/08 Javascript
Vue.js实战之组件的进阶
2017/04/04 Javascript
get  post jsonp三种数据交互形式实例详解
2017/08/25 Javascript
Mac中安装nvm的教程分享
2017/12/11 Javascript
Angular实现的简单定时器功能示例
2017/12/28 Javascript
Angular中使用ng-zorro图标库部分图标不能正常显示问题
2019/04/22 Javascript
vue实现随机验证码功能的实例代码
2019/04/30 Javascript
JavaScript对象访问器Getter及Setter原理解析
2020/12/08 Javascript
详解Python 爬取13个旅游城市,告诉你五一大家最爱去哪玩?
2019/05/07 Python
python numpy存取文件的方式
2020/04/01 Python
解决python 执行sql语句时所传参数含有单引号的问题
2020/06/06 Python
html5 兼容IE6结构的实现代码
2012/05/14 HTML / CSS
美国药妆网站:EDCskincare.com(防晒、痤疮、抗衰老等)
2017/04/28 全球购物
美国家居用品和厨具购物网站:DealsDot
2019/10/07 全球购物
linux面试题参考答案(4)
2014/09/21 面试题
大学生在校学习的自我评价
2014/02/18 职场文书
《陶罐和铁罐》教学反思
2014/02/19 职场文书
求职个人评价范文
2014/04/09 职场文书
《春晓》教学反思
2014/04/20 职场文书
党员政治学习材料
2014/05/14 职场文书
传承焦裕禄精神思想汇报2014
2014/09/10 职场文书
大学生暑期社会实践证明范本
2014/10/24 职场文书
英语教师求职信范文
2015/03/20 职场文书
《黑岩★★射手 DAWN FALL》BD发售宣传CM公开
2022/04/04 日漫