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 相关文章推荐
PHP 5.0对象模型深度探索之类的静态成员
Mar 27 PHP
PHP的explode和implode的使用说明
Jul 17 PHP
php中通过curl模拟登陆discuz论坛的实现代码
Feb 16 PHP
深入理解用mysql_fetch_row()以数组的形式返回查询结果
Jun 05 PHP
FireFox浏览器使用Javascript上传大文件
Oct 30 PHP
PHP命名空间(namespace)的动态访问及使用技巧
Aug 18 PHP
详解PHP数组赋值方法
Nov 07 PHP
thinkPHP的表达式查询用法详解
Sep 14 PHP
php自定义函数br2nl实现将html中br换行符转换为文本输入中换行符的方法【与函数nl2br功能相反】
Feb 17 PHP
php递归函数怎么用才有效
Feb 24 PHP
记录Yii2框架开发微信公众号遇到的问题及解决方法
Jul 20 PHP
Laravel 实现Controller向blade前台模板赋值的四种方式小结
Oct 22 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 mssql 日期出现中文字符的解决方法
2009/03/10 PHP
PHP运行SVN命令显示某用户的文件更新记录的代码
2014/01/03 PHP
Thinkphp开发--集成极光推送
2017/09/15 PHP
如何快速的呈现我们的网页的技巧整理
2007/07/01 Javascript
javascript模拟map输出与去除重复项的方法
2015/02/09 Javascript
JavaScript事件 &quot;事件对象&quot;的注意要点
2016/01/14 Javascript
Jquery实现$.fn.extend和$.extend函数
2016/04/14 Javascript
AngularJS通过$location获取及改变当前页面的URL
2016/09/23 Javascript
微信小程序 Flex布局详解
2016/10/09 Javascript
js设置和获取自定义属性的方法
2016/10/20 Javascript
前端分页功能的实现以及原理(jQuery)
2017/01/22 Javascript
用js将long型数据转换成date型或datetime型的实例
2017/07/03 Javascript
使用DataTable插件实现异步加载数据
2017/11/19 Javascript
详解单页面路由工程使用微信分享及二次分享解决方案
2019/02/22 Javascript
微信小程序利用云函数获取手机号码
2019/12/17 Javascript
vue实现户籍管理系统
2020/05/29 Javascript
Python中lambda的用法及其与def的区别解析
2014/07/28 Python
python中list常用操作实例详解
2015/06/03 Python
通过Python来使用七牛云存储的方法详解
2015/08/07 Python
在Linux系统上部署Apache+Python+Django+MySQL环境
2015/12/24 Python
CentOS下Python3的安装及创建虚拟环境的方法
2018/11/28 Python
pytorch 使用单个GPU与多个GPU进行训练与测试的方法
2019/08/19 Python
导入tensorflow时报错:cannot import name 'abs'的解决
2019/10/10 Python
从0到1使用python开发一个半自动答题小程序的实现
2020/05/12 Python
详解Canvas事件绑定
2018/06/27 HTML / CSS
澳大利亚最大的网上油画销售画廊:Direct Art Australia
2018/04/15 全球购物
澳大利亚在线高跟鞋商店:Shoe Me
2019/11/19 全球购物
测试驱动开发的主要步骤是什么
2014/12/10 面试题
中学教师管理制度
2014/01/14 职场文书
个人思想政治总结
2015/03/05 职场文书
大学生实习介绍信
2015/05/05 职场文书
讲座新闻稿
2015/07/18 职场文书
趣味运动会简讯
2015/07/20 职场文书
2016年教师新年寄语
2015/08/18 职场文书
Windows Server 2016 配置 IIS 的详细步骤
2022/04/28 Servers
Windows Server 2019 安装DHCP服务及相关配置
2022/04/28 Servers