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 EOT定界符的使用详解
Sep 30 PHP
phpmyadmin3 安装配置图解教程
Mar 29 PHP
浅谈PHP强制类型转换,慎用!
Jun 06 PHP
php5.3 goto函数介绍和示例
Mar 21 PHP
PHP将进程作为守护进程的方法
Mar 19 PHP
php使用标签替换的方式生成静态页面
May 21 PHP
Thinkphp关闭缓存的方法
Jun 26 PHP
php基于curl实现的股票信息查询类实例
Nov 11 PHP
php获取当前url地址的方法小结
Jan 10 PHP
php-fpm重启导致的程序执行中断问题详解
Apr 29 PHP
thinkphp5框架API token身份验证功能示例
May 21 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
基于mysql的论坛(2)
2006/10/09 PHP
PHP实现读取一个1G的文件大小
2013/08/24 PHP
ThinkPHP3.1之D方法实例详解
2014/06/20 PHP
PHP高级编程实例:编写守护进程
2014/09/02 PHP
Thinkphp关闭缓存的方法
2015/06/26 PHP
php生成Android客户端扫描可登录的二维码
2016/05/13 PHP
PHP使用SWOOLE扩展实现定时同步 MySQL 数据
2017/04/09 PHP
PHP-FPM 的管理和配置详解
2019/02/17 PHP
实用javaScript技术-屏蔽类
2006/08/15 Javascript
html 锁定页面(js遮罩层弹出div效果)
2009/10/27 Javascript
使用jQuery同时控制四张图片的伸缩实现代码
2013/04/19 Javascript
window.location.reload()方法刷新页面弹出要再次显示该网页对话框
2013/04/24 Javascript
基于javascript实现浏览器滚动条快到底部时自动加载数据
2015/11/30 Javascript
基于jquery实现省市联动特效
2015/12/17 Javascript
基于Node.js的JavaScript项目构建工具gulp的使用教程
2016/05/20 Javascript
详解vue-router 2.0 常用基础知识点之router.push()
2017/05/10 Javascript
vue项目添加多页面配置的步骤详解
2019/05/22 Javascript
Vue使用vue-draggable 插件在不同列表之间拖拽功能
2020/03/12 Javascript
Electron实现应用打包、自动升级过程解析
2020/07/07 Javascript
[09:13]DOTA2-DPC中国联赛 正赛 Ehome vs Magma 选手采访 1月19日
2021/03/11 DOTA
详解Python中with语句的用法
2015/04/15 Python
python删除过期文件的方法
2015/05/29 Python
Python面向对象类继承和组合实例分析
2018/05/28 Python
Python3中的最大整数和最大浮点数实例
2019/07/09 Python
python字典的遍历3种方法详解
2019/08/10 Python
基于python及pytorch中乘法的使用详解
2019/12/27 Python
基于django2.2连oracle11g解决版本冲突的问题
2020/07/02 Python
土木工程应届生求职信
2013/10/31 职场文书
工程总经理工作职责
2013/12/09 职场文书
大学活动总结范文
2014/04/29 职场文书
读书之星事迹材料
2014/05/12 职场文书
学习十八大演讲稿
2014/09/15 职场文书
暂住证证明
2015/06/19 职场文书
人为什么会“幸灾乐祸”?
2019/08/06 职场文书
Redis的字符串是如何实现的
2021/10/24 Redis
AJAX引擎原理以及XmlHttpRequest对象的axios、fetch区别详解
2022/04/09 Javascript