首先给出实现方法:通过时间差判断显示“刚刚”“X分钟前”等;再计算天、时、分、秒用于倒计时;最后扩展支持“昨天”“X天前”等更优体验,需注意时区设置以保证准确性。

在PHP中,将时间戳转换为友好时间显示(如“刚刚”、“3分钟前”、“2小时前”)是一种常见需求,尤其用于社交、评论、消息等场景。除了中文描述,有时也需要计算两个时间之间的天、时、分、秒差值并格式化输出。下面介绍实现方法。
通过比较当前时间与目标时间戳的差值,判断应显示哪种描述:
示例函数:
function friendlyDate($timestamp) {
$now = time();
$diff = $now - $timestamp;
<pre class='brush:php;toolbar:false;'>if ($diff < 0) {
return '未来时间';
} elseif ($diff < 60) {
return '刚刚';
} elseif ($diff < 3600) {
return floor($diff / 60) . '分钟前';
} elseif ($diff < 86400) {
return floor($diff / 3600) . '小时前';
} else {
return date('Y-m-d', $timestamp);
}}
AliGenie 天猫精灵开放平台
天猫精灵开放平台
156
查看详情
使用方式:
echo friendlyDate(strtotime('-25 minutes')); // 输出:25分钟前
echo friendlyDate(strtotime('-2 days')); // 输出:2025-04-03(假设今天是04-05)
适用于倒计时、耗时统计等场景。可通过时间差计算出完整的天、时、分、秒。
示例函数:
function formatTimeDiff($start, $end = null) {
$end = $end ?: time();
$diff = abs($end - $start); // 确保为正数
<pre class='brush:php;toolbar:false;'>$days = floor($diff / 86400);
$hours = floor(($diff % 86400) / 3600);
$minutes = floor(($diff % 3600) / 60);
$seconds = $diff % 60;
$text = '';
if ($days) $text .= $days . '天';
if ($hours) $text .= $hours . '小时';
if ($minutes) $text .= $minutes . '分';
if ($seconds) $text .= $seconds . '秒';
return $text ?: '0秒';}
使用示例:
$start = strtotime('2025-04-03 10:00:00');
echo formatTimeDiff($start); // 如:1天3小时25分10秒
可进一步优化判断逻辑,提升用户体验:
day'))进阶版本片段:
function advancedFriendlyDate($timestamp) {
$now = time();
$diff = $now - $timestamp;
<pre class='brush:php;toolbar:false;'>if ($diff < 60) return '刚刚';
if ($diff < 3600) return floor($diff / 60) . '分钟前';
if ($diff < 3600 * 24) return floor($diff / 3600) . '小时前';
$todayStart = strtotime(date('Y-m-d'));
$yesterdayStart = $todayStart - 86400;
$dateStr = date('m月d日', $timestamp);
if ($timestamp >= $yesterdayStart && $timestamp < $todayStart) {
return '昨天';
}
if ($diff < 3600 * 24 * 7) {
return floor($diff / 86400) . '天前';
}
if ($diff < 3600 * 24 * 30) {
$weeks = floor($diff / (3600 * 24 * 7));
return $weeks . '周前';
}
return $dateStr;}
基本上就这些。根据项目需要选择合适粒度的友好时间显示方式,既能提升可读性,也能让界面更人性化。注意时区设置(date_default_timezone_set)确保时间准确。不复杂但容易忽略细节。
以上就是php如何将时间戳转为友好时间显示_php计算天时分秒与中文描述格式化的详细内容,更多请关注其它相关文章!
# 相关文章
# 杨浦网站优化哪家强
# 温州网站优化技术
# 潍坊高新区网站推广优化
# seo后台管理需要什么
# 芙蓉区网站建设排名
# 抚州网站营销推广
# 做营销推广的目的
# 北京外贸网站推广备案
# 郓城营销推广获客
# 镇府网站如何改版优化
# 中文网
# php
# 适用于
# 是一种
# 进阶
# 上周
# 倒计时
# 转换为
# 昨天
# 如何将
# 2025
# 格式化输出
# 时间戳
相关栏目:
【
Google疑问12 】
【
Facebook疑问10 】
【
优化推广96088 】
【
技术知识133117 】
【
IDC资讯59369 】
【
网络运营7196 】
【
IT资讯61894 】
相关推荐:
《植物大战僵尸3》火龙草作用介绍
C++中的explicit关键字有什么作用_C++类型转换控制与explicit使用
海棠阅读登录教程_详细讲解海棠登录操作
RxJS中如何高效地在一个函数内处理和合并多个数据集合
优化 React onClick 事件处理:函数引用与箭头函数的对比
餐馆菜篮选购指南
疯狂小鸟微信小游戏入口 疯狂小鸟网页版秒玩
Python csv 模块处理非字符串数据:列表写入 CSV 文件的机制解析
天堂漫画网页版在线阅读 天堂漫画手机版入口
《KARDS》冬季扩展包“国土阵线”上线!全新“协力”机制改变战场格局
TikTok视频播放中断怎么办 TikTok播放异常修复方法
Python对象引用与属性赋值:理解链表中的行为
苹果如何下载nanobanana
《长生:天机降世》火塔小怪大全
如何在 WordPress 前端实现内容提交:古腾堡编辑器的替代方案与实践
《爱笔思画x》魔棒工具抠图教程
excel怎么制作考勤表 excel考勤模板与函数公式讲解
WooCommerce购物车:强制显示所有交叉销售商品教程
uc浏览器官网网页版使用 uc浏览器官网免费在线首页
J*a实现任务清单管理_集合框架综合入门练手
虫虫助手如何更新游戏
Python中深度嵌套字典与列表的数据提取与条件过滤指南
《腾讯相册管家》注销账号方法
《漫蛙manwa2》防走失网页版链接2025
《撕歌》会员开通方法
mysql数据库索引类型有哪些_mysql索引类型解析
Sublime Text怎么关闭自动完成_Sublime禁用Auto Complete设置
163邮箱登录入口官网 163.com邮箱登录入口
小米civi如何设置锁屏时间
Win11怎么录屏_Windows 11自带Xbox Game Bar录制视频
12306APP选座怎么选充电位置_12306APP带充电插座座位选择方法与技巧
Excel如何快速合并单元格内容_Excel文本合并与函数操作技巧
J*aScript模块加载器_RequireJS原理分析
解决 Vue 3 组件未定义错误:理解 createApp 与根组件的正确使用
以下哪一个是适应长期护理制度发展而设立的新职业
解决Flex容器横向滚动内容截断与偏移问题
Composer如何使用composer-plugin-api开发自定义插件
可米酷漫画在线阅读入口_ 可米酷漫画官网直达链接
Win10通知横幅停留时间修改 Win10自定义通知显示时长【技巧】
店铺如何做视频号推广?做视频号推广有用吗?
《密马》发布账号方法
Lar*el Eloquent中通过Join查询关联数据表:解决多行子查询问题
mysql中如何分析索引使用情况_mysql索引使用分析方法
如何高效地基于键列值映射DataFrame中的多个列
mysql如何管理数据库账户_mysql数据库账户管理技巧
猫眼app抢票快还是小程序快
《饿了么》拼好饭点外卖教程2025
PHP utf8_encode 字符编码转换陷阱与解决方案
电子白板帮助菜单使用指南
铁路12306官网登录入口 铁路12306在线购票官方平台
2025-11-28
运城市盐湖区信雨科技有限公司是一家深耕海外推广领域十年的专业服务商,作为谷歌推广与Facebook广告全球合作伙伴,聚焦外贸企业出海痛点,以数字化营销为核心,提供一站式海外营销解决方案。公司凭借十年行业沉淀与平台官方资源加持,打破传统外贸获客壁垒,助力企业高效开拓全球市场,成为中小企业出海的可靠合作伙伴。