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

yipeiwu_com5年前PHP代码库

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

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

<?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中的preg_replace和代码执行

深入研究PHP中的preg_replace和代码执行

前言 本文将深入研究 preg_replace /e 模式下的代码执行问题,其中包括 preg_replace 函数的执行过程分析、正则表达式分析、漏洞触发分析,当中的坑非常多,相信看完...

php生成不重复随机数、数组的4种方法分享

php生成不重复随机数、数组的4种方法分享

下面写几种生成不重复随机数的方法,直接上代码吧 复制代码 代码如下: <?php define('RANDOM_MAX', 100); define('COUNT', 10...

使用WordPress发送电子邮件的相关PHP函数用法解析

使用WordPress发送电子邮件的相关PHP函数用法解析

wp_mail() 函数用来发送邮件,类似于 PHP 的 mail() 函数。 默认的发件人名称是 WordPress,发件人邮箱是类似 wordpress@example.com。 用...

php如何连接sql server

php如何连接sql server

说明:   1:PHP5.2.x本身有个php_mssql.dll的扩展用来连接Sql server,但是这个dll只是用来连接低版本 Sql server的(2000以下版本),在Sq...

yii2超好用的日期组件和时间组件

日期组件,时间组件在平时开发中是必不可少的。今天我们就来谈谈在yii2中的超好用的时间组件,也省的大家各种找js插件了。 分享之前我们先预览下效果,看看到底怎么个好用法。 当然啦,好用不...