当前位置:首页 > 网络科技 > PHP 格式化时间显示刚刚、几分钟前、昨天、前天

PHP 格式化时间显示刚刚、几分钟前、昨天、前天

2年前 (2024-09-02)admin网络科技158

我们可能经常在一些网站上看到刚刚、几分钟前、几小时前,昨天 12:00、前天 13:30 等时间展现方式,不得不说子凡认为这样的展现方式用户体验度还是非常高的,相比直接显示年月日及时间点的反而让人陷入时间计算的一个盲区,对于新闻资讯类的文章列表展现体验显然有些格格不入了。

其实这个功能在三四年前泪雪博客以及泪雪网都开始应用,事过境迁虽然展现的方式依旧还是非常不错,只是在某些细节上的展现有些不尽人意,可以说是达不到子凡对极致追求的标准了吧,所以在最近子凡做泪雪网用户中心的功能开发时来完善这一细微处的体验。

首先还是直接上代码吧,给大家一个参考:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
//时间格式化(时间戳)
function uc_time_ago($ptime) {
	date_default_timezone_set('PRC');
	//$ptime = strtotime($ptime);
	$etime = time() - $ptime;
	switch ($etime){
		case $etime <= 60:
			$msg = '刚刚';
			break;
		case $etime > 60 && $etime <= 60 * 60:
			$msg = floor($etime / 60) . ' 分钟前';
			break;
		case $etime > 60 * 60 && $etime <= 24 * 60 * 60:
			$msg = date('Ymd',$ptime)==date('Ymd',time()) ? '今天 '.date('H:i',$ptime) : '昨天 '.date('H:i',$ptime);
			break;
		case $etime > 24 * 60 * 60 && $etime <= 2 * 24 * 60 * 60:
			$msg = date('Ymd',$ptime)+1==date('Ymd',time()) ? '昨天 '.date('H:i',$ptime) : '前天 '.date('H:i',$ptime);
			break;
		case $etime > 2 * 24 * 60 * 60 && $etime <= 12 * 30 * 24 * 60 * 60:
			$msg = date('Y',$ptime)==date('Y',time()) ? date('m-d H:i',$ptime) : date('Y-m-d H:i',$ptime);
			break;
		default: $msg = date('Y-m-d H:i',$ptime);
	}
	return $msg;
}

其实子凡本来想懒一下在晚上找找看有没有优秀的代码分享,结果没有一个可以达到我的高要求,所以无奈只能自己动手了,目前网上有分享的一些代码或多或少都有一点不完美,没有添加当天的判断,简单的说就是他们只是以 24 小时为一天,而非是以凌晨过后作为第二天的判断,所以就导致昨天,前天的显示并不那么准确。

当然啦,子凡也同样的简化了一些功能,例如并没有几周前、几个月前,更没有几年前这样的骚操作,而是将时间超过三天都直接显示年月时间,超过当年的则显示完整的年月日时间,总之以子凡对用户体验的研究和纯个人观点来说,这样的方式我认为都是很不错的显示方式,喜欢的朋友可以参考使用,如果你有其它看法记得给我留言评论,我们来一次思想上的碰撞吧!

w.haolusi.com

本文链接:https://w.haolusi.com/time-ago-on-php.html

扫描二维码推送至手机访问。

版权声明:本文由豪鲁斯兴趣网发布,如需转载请注明出处。

本文链接:https://w.haolusi.com/?id=2468

标签: 设计开发
分享给朋友:

“PHP 格式化时间显示刚刚、几分钟前、昨天、前天” 的相关文章

告别焦虑,技术人的“慢功夫”哲学

告别焦虑,技术人的“慢功夫”哲学

我们现在处一个快节奏的时代,每一个行业都在高速发展,我们也常常被告知要抓住每一个机会,快速成长,迅速成功。但对许多技术人来说,所谓的“快”,有时反而会让我们失去平衡,陷入焦虑和迷茫, 常常又进入事倍功半的困境。之前遇到过一位刚入行不久的年轻技术人,他一脸焦虑地问我:“如果我现在不快点提高,是不是以后...

百度正式下线“快速收录”功能,VIP可以申请“快速抓取”权限

百度正式下线“快速收录”功能,VIP可以申请“快速抓取”权限

最近可以说是站长们一片哀嚎,清明节前刚经历一次大的波动恢复没两天,让后百度又一次性的在清明节再次送走了,目前又开始缓慢的在恢复,但是似乎情况也并不是很妙。就在这时,百度搜索资源平台发布了一则“关于升级平台「快速收录」工具的通知”的公告,意思就是正式下线快速收录功能,换新上线一个叫做“快速抓取”的工具...

MYSQL字符集有哪些

MYSQL字符集有哪些

MySQL 中的字符集是用来确定数据库中字符数据的编码方式,它决定了如何存储和检索数据。MySQL 中常用的字符集:UTF8:UTF-8 是一种 Unicode 字符编码方式,它可以表示世界上大部分的文字字符。MySQL 中的 UTF8 字符集最多只能存储 3 字节的 UTF-8 编码字符,...

最新可用!2024年最新Github镜像,更快部署下载(2024年08更新)

最新可用!2024年最新Github镜像,更快部署下载(2024年08更新)

本篇文章目录|Table of Contents Hide Github:伟大的共建社区01.GitHub 镜像可用站点02.GitHub-建设未...

MySQL如何选择utf8mb4_general_ci和utf8mb4_0900_ai_ci字符集排序规则

MySQL如何选择utf8mb4_general_ci和utf8mb4_0900_ai_ci字符集排序规则

最近在做一些关于新项目的规划和测试,那么既然是要做新的项目当然首先要考虑的就是最新的技术标准,也把开发环境都统一升级了一遍,而在做 MySQL 数据库创建的时候就发现了一个小小的变化,本着对技术的执着那么就不得不来一探究竟。正式生产环境本着稳定高于一切的宗旨,所以也就不太可能做到数据库方面的升级保持...

WordPress别名slug增加点(.)符号支持

WordPress别名slug增加点(.)符号支持

熟悉 WordPress 的朋友们都知道,WordPress 在 URL 链接中的处理算得上是一刀切,所有的特殊符号及字符都是使用减号/连字符(-)来进行分隔,这其实是一种对搜索引擎非常友好的分隔方式,也是谷歌搜索引擎所推荐的连字符,其中谷歌有一句提示“不妨考虑在网址中使用连字符来分隔字...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。