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投票程序源码
Mar 11 PHP
php chr() ord()中文截取乱码问题解决方法
Sep 08 PHP
php目录管理函数小结
Sep 10 PHP
php实现快速排序的三种方法分享
Mar 12 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(三)
Jun 23 PHP
PHP中浮点数计算比较及取整不准确的解决方法
Jan 09 PHP
PHP类的特性实例分析
Sep 28 PHP
Zend Framework常用校验器详解
Dec 09 PHP
thinkPHP5.0框架应用请求生命周期分析
Mar 25 PHP
thinkphp集成前端脚手架Vue-cli的教程图解
Aug 30 PHP
PHP7使用ODBC连接SQL Server2008 R2数据库示例【基于thinkPHP5.1框架】
May 06 PHP
PHP连接SQL server数据库测试脚本运行实例
Aug 24 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
咖啡知识 除了喝咖啡还有那些知识点
2021/03/06 新手入门
UTF-8正则表达式如何匹配汉字
2015/08/03 PHP
详解PHP处理密码的几种方式
2016/11/30 PHP
laravel 框架结合关联查询 when()用法分析
2019/11/22 PHP
JavaScript 函数式编程的原理
2009/10/16 Javascript
js下通过prototype扩展实现indexOf的代码
2010/12/08 Javascript
javascript数字格式化通用类 accounting.js使用
2012/08/24 Javascript
javascript 系统文件夹文件操作及参数介绍
2013/01/08 Javascript
浅谈js 闭包引起的内存泄露问题
2015/06/22 Javascript
浅谈js中的this问题
2017/08/31 Javascript
vue中路由参数传递可能会遇到的坑
2017/12/07 Javascript
js函数和this用法实例分析
2020/03/13 Javascript
小程序选项卡以及swiper套用(跨页面)
2020/06/19 Javascript
Openlayers实现图形绘制
2020/09/28 Javascript
angular8.5集成TinyMce5的使用和详细配置(推荐)
2020/11/16 Javascript
Python操作MongoDB详解及实例
2017/05/18 Python
使用pandas模块读取csv文件和excel表格,并用matplotlib画图的方法
2018/06/22 Python
django2+uwsgi+nginx上线部署到服务器Ubuntu16.04
2018/06/26 Python
Python 实现Windows开机运行某软件的方法
2018/10/14 Python
Mac 使用python3的matplot画图不显示的解决
2019/11/23 Python
Anaconda配置pytorch-gpu虚拟环境的图文教程
2020/04/16 Python
python 追踪except信息方式
2020/04/25 Python
浅谈keras中的Merge层(实现层的相加、相减、相乘实例)
2020/05/23 Python
Python连接mysql数据库及简单增删改查操作示例代码
2020/08/03 Python
h5页面背景图很长要有滚动条滑动效果的实现
2021/01/27 HTML / CSS
哥伦比亚加拿大官网:Columbia Sportswear Canada
2020/09/07 全球购物
护士实习鉴定范文
2013/12/22 职场文书
物理专业本科生自荐信
2014/01/30 职场文书
统计系教授推荐信
2014/02/28 职场文书
幼儿园教师岗位职责
2014/03/17 职场文书
交通安全寄语大全
2014/04/08 职场文书
数学教研活动总结
2014/07/02 职场文书
招标承诺书
2014/08/30 职场文书
降价通知函
2015/04/23 职场文书
python plt.plot bar 如何设置绘图尺寸大小
2021/06/01 Python
idea搭建可运行Servlet的Web项目
2021/06/26 Java/Android