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 相关文章推荐
Win9x/ME下Apache+PHP安装配置
Oct 09 PHP
PHP 已经成熟
Dec 04 PHP
追求程序速度,而不是编程的速度
Apr 23 PHP
php利用iframe实现无刷新文件上传功能的代码
Sep 29 PHP
PHP取二进制文件头快速判断文件类型的实现代码
Aug 05 PHP
php实现把数组按指定的个数分隔
Feb 17 PHP
php cli换行示例
Apr 22 PHP
一个简单的PHP验证码实现代码
May 10 PHP
php设计模式之职责链模式定义与用法经典示例
Sep 19 PHP
laravel 实现登陆后返回登陆前的页面方法
Oct 03 PHP
Laravel框架实现即点即改功能的方法分析
Oct 31 PHP
PHP使用PDO实现mysql防注入功能详解
Dec 20 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创建自定义菜单的方法
2016/08/01 PHP
通过chrome浏览器控制台(Console)进行PHP Debug的方法
2016/10/19 PHP
ThinkPHP中Widget扩展的两种写法及调用方法详解
2017/05/04 PHP
PHP操作Redis常用技巧总结
2018/04/24 PHP
JavaScript?Apple设备检测示例代码
2013/11/15 Javascript
JS获取几种URL地址的方法小结
2014/02/26 Javascript
window.onerror()的用法与实例分析
2016/01/27 Javascript
JavaScript DOM节点操作方法总结
2016/08/23 Javascript
JQuery动态添加Select的Option元素实现方法
2016/08/29 Javascript
基于JavaScript实现随机颜色输入框
2016/12/10 Javascript
除Console.log()外更多的Javascript调试命令
2018/01/24 Javascript
打通前后端构建一个Vue+Express的开发环境
2018/07/17 Javascript
默认浏览器设置及vue自动打开页面的方法
2018/09/21 Javascript
从零开始封装自己的自定义Vue组件
2018/10/09 Javascript
vue.js 2.*项目环境搭建、运行、打包发布的详细步骤
2019/05/01 Javascript
JavaScript设计模式--桥梁模式引入操作实例分析
2020/05/23 Javascript
[36:29]2018DOTA2亚洲邀请赛 4.1 小组赛 A组加赛 LGD vs TNC
2018/04/02 DOTA
[53:10]Secret vs Pain 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
了解不常见但是实用的Python技巧
2019/05/23 Python
python如何以表格形式打印输出的方法示例
2019/06/21 Python
TensorFlow 多元函数的极值实例
2020/02/10 Python
信号生成及DFT的python实现方式
2020/02/25 Python
python 爬虫爬取京东ps4售卖情况
2020/12/18 Python
K近邻法(KNN)相关知识总结以及如何用python实现
2021/01/28 Python
HTML5 Canvas的事件处理介绍
2015/04/24 HTML / CSS
SQL Server提供的3种恢复模型都是什么? 有什么区别?
2012/05/13 面试题
易程科技软件测试笔试
2013/03/24 面试题
暑假实习求职信范文
2013/09/22 职场文书
超市营业员岗位职责
2013/12/20 职场文书
新年联欢会主持词
2014/03/27 职场文书
物业保安岗位职责
2014/07/02 职场文书
歌颂党的演讲稿
2014/09/10 职场文书
2014年领导班子工作总结
2014/12/11 职场文书
2015暑期社会实践调查报告
2015/07/14 职场文书
2016年教师新年寄语
2015/08/18 职场文书
mysql使用instr达到in(字符串)的效果
2022/04/03 MySQL