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

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

12个月前 (09-02)admin网络科技61

我们可能经常在一些网站上看到刚刚、几分钟前、几小时前,昨天 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 格式化时间显示刚刚、几分钟前、昨天、前天” 的相关文章

In terms of equipment acquisition, what improvements can be made?

In terms of equipment acquisition, what improvements can be made?

In terms of equipment acquisition in World of Warcraft, Players often discuss some areas that can be improved to enhance the gaming experien...

WordPress如何将管理员用户主页改为网站首页

WordPress如何将管理员用户主页改为网站首页

最近在做 WordPress 站群的一些项目测试,主题在调用作者的时候就会链接到作者主页,加上很多时候 WordPress 网站就只会使用一个账户来发布文章,虽然可以通过修改主题代码的方式将作者的链接直接链接到网站首页,但是作为一个优雅的 WordPress 开发者来说,肯定是不会轻易动主题源码的,...

WordPress标签实现追加自定义链接

WordPress标签实现追加自定义链接

WordPress 标签的用处说多不多,说少不少,其中利用 WordPress 标签做聚合页面优化是一种搜索引擎很喜欢的方式,或者说很多搜索引擎相比正文页面而言更喜欢抓取和收录标签页面,其次对于 WordPress 标签的作用就是用于文章关键词调用以及文章内链。那么今天子凡我我将利用几行代码来实现给...

MYSQL字符集有哪些

MYSQL字符集有哪些

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

最新免费可用!ChatGPT 4.0/4o/3.5 镜像 Mirror|免翻直链中文镜像(2024年8月更新)

最新免费可用!ChatGPT 4.0/4o/3.5 镜像 Mirror|免翻直链中文镜像(2024年8月更新)

本篇文章目录|Table of Contents Hide ChatGPT 4.0/4o/3.5 镜像站列表ChatGPT镜像更新历史什么是Cha...

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

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

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

发表评论

访客

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