/**
* 将日期格式根据以下规律修改为不同显示样式
* 小于1分钟 则显示多少秒前
* 小于1小时,显示多少分钟前
* 一天内,显示多少小时前
* 3天内,显示前天22:23或昨天:12:23。
* 超过3天,则显示完整日期。
* @static
* @param $sorce_date 数据源日期 unix时间戳
* @return void
*/
public static function getDateStyle($sorce_date){
self::$nowTime = time(); //获取今天时间戳
// echo '数据源时间戳:'.$sorce_date . ' = '. date('Y-m-d H:i:s',$sorce_date);
// echo "\n 当前时间戳:". date('Y-m-d H:i:s',self::$nowTime)."\n";
$timeHtml = ''; //返回文字格式
$temp_time = 0;
switch($sorce_date){
//一分钟
case ($sorce_date+60)>=self::$nowTime:
$temp_time = self::$nowTime-$sorce_date;
$timeHtml = $temp_time ."秒前";
break;
//小时
case ($sorce_date+3600)>=self::$nowTime:
$temp_time = date('i',self::$nowTime-$sorce_date);
$timeHtml = $temp_time ."分钟前";
break;
//天
case ($sorce_date+3600*24)>=self::$nowTime:
$temp_time = date('H',self::$nowTime)-date('H',$sorce_date);
$timeHtml = $temp_time .'小时前';
break;
//昨天
case ($sorce_date+3600*24*2)>=self::$nowTime:
$temp_time = date('H:i',$sorce_date);
$timeHtml = '昨天'.$temp_time ;
break;
//前天
case ($sorce_date+3600*24*3)>=self::$nowTime:
$temp_time = date('H:i',$sorce_date);
$timeHtml = '前天'.$temp_time ;
break;
//3天前
case ($sorce_date+3600*24*4)>=self::$nowTime:
$timeHtml = '3天前';
break;
default:
$timeHtml = date('Y-m-d',$sorce_date);
break;
}
return $timeHtml;
}
分享到:
相关推荐
在PHP中获取前天和昨天的日期是常见的需求,特别是在处理日期相关的数据分析或者日志记录时。以下是一些实现这个功能的方法: 1. 使用 `strtotime` 函数: ```php echo date("Y/m/d H:i:s", strtotime("1 days ...
使用date函数输出昨天的日期,可以通过time()函数减去3600秒(即1小时)来获取昨天的时间戳,再用date()函数格式化输出。 ```php date_default_timezone_set('Asia/Shanghai'); echo date("Ymd", time() - 3600); //...
例如,将2022年1月1日0时0分0秒转换为"昨天晚上12点",将"刚刚"、"2小时前"等更接近日常语言的方式表达时间。 接下来,我们来分析一下该段PHP代码的关键点和知识点: 1. 时间戳概念 在PHP中,时间戳是自Unix纪元...
9. 对于超过24小时但小于三天的时间差,会特别考虑如果是“昨天”,则显示为“昨天X点XX分”,“前天”则显示为“前天X点XX分”。 10. 如果时间差超过三天,则直接显示完整的时间。 注意事项: - 使用`transfer_...
3. 如果`$format`参数为`u`,则函数会根据提供的`$timestamp`计算出时间差异,并根据差异的秒数将时间格式化为“小时前”、“分钟前”、“秒前”或者“刚刚”等相对时间描述。 4. 如果时间戳与今天的时间戳差异在0...
如果超过了一天,则根据是否跨年输出“x天前”、“昨天”、“前天”等。 第三个函数仍然是formatTime($time),它提供了另一种计算时间差的方法,并根据这个差值来格式化时间。它首先比较当前日期和传入时间戳的年、...
在PHP中可以使用`strtotime()`函数将任何英文文本的日期时间描述解析为Unix时间戳,而`date()`函数则可以将Unix时间戳格式化为可读的日期时间格式。 接下来,我们具体分析给定代码中实现时间轴功能的函数`tranTime...
- 显示具体时间(如“昨天”、“前天”等)而非具体日期。 - 根据不同的栏目设置不同的字体颜色或样式。 总之,通过深入研究和实践这类功能,不仅可以提升网站的用户体验,还能增强开发者对织梦CMS的理解和运用能力...
比如,我们不希望总是显示精确到秒的时间,而是更倾向于展示“几分钟前”、“几小时前”这样的相对时间。本文将详细介绍如何使用PHP实现这一功能,并提供相应的代码示例。 首先,我们要明确实现这种友好的时间格式...
对于更早的日期,例如前天,只需将秒数改为`48 * 60 * 60`即可: ```php <?php echo date("Y/m/d H:i:s", time() - 2 * 24 * 60 * 60); // 减去两天的秒数 ?> ``` 还有另一种方法,利用`strtotime()`函数来实现: ...
- 如果时间差小于3天,判断是否是昨天或者前天,并格式化输出日期和时间。 - 如果时间差大于3天,直接返回完整的时间戳格式。 函数的实现代码如上文所提。调用tranTime()函数时,如果输入的$time不是Unix时间戳,...
在PHP里得到前天和昨天的日期的代码.txt PHP实例:FCKeditor 的配置和使用方法.txt Server Application Unavailable.txt 解决Imail能发却经常收不到邮件的问题(IMAIL队列卡死,Queuemgr服务挂起.txt javascript获取...
PHP FOR Smarty 复制代码 代码如下: * Name: time_ago * Purpose: 将时间戳专为距当前时间的表现形式 * 1分钟内按秒 * 1小时内按分钟显示 * 1天内按时分显示 * 3天内以昨天,前天显示 * 超过3天显示具体日期 * * @...
在ThinkPHP5框架中,时间查询是数据库操作中的一个重要部分,特别是在处理涉及日期和时间的数据时。本文将深入探讨如何在TP5框架中进行时间查询,包括基本的时间比较、`whereTime`方法的使用以及时间表达式的应用。 ...
****************************模板规范化管理 开始**************************** ... [gbook:numfill] 自动补位序号,个位数前补0 [gbook:numjoin] 如使用start参数,则自动从start开始计数 [gbook:id] ...