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

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

8个月前 (09-02)admin网络科技29

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

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

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

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

WordPress如何移除登录界面中英文语言切换框

WordPress如何移除登录界面中英文语言切换框

其实早在 WordPress 5.9 版本开始,WordPress 默认登录界面就增加了语言切换选项, 其目的就是允许用户自己选择要使用的语言登录后台。这个功能对于多语言网站或是国际性站点可能还有点用,但是对于国内用户来说就显得有些多余。最近子凡在做更深度的 WordPress 优化,同时也为了丰富...

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-建设未...

Timeline Migrate Tools Boxset 剪辑时间线字幕迁移工具套件|FCPX vs PR|XML vs FCPXML|SRT vs XML|macOS|测试教程 Tutorial

Timeline Migrate Tools Boxset 剪辑时间线字幕迁移工具套件|FCPX vs PR|XML vs FCPXML|SRT vs XML|macOS|测试教程 Tutorial

本篇文章目录|Table of Contents Hide Final Cut Pro X 提取音频给音频编辑X2Pro Audi...

发表评论

访客

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