PHP,从mysql加载时间戳并转换为时间前字符串
Posted
技术标签:
【中文标题】PHP,从mysql加载时间戳并转换为时间前字符串【英文标题】:PHP, load timestamp from mysql and convert into time ago string 【发布时间】:2018-11-30 12:51:06 【问题描述】:是否可以从 mysql 数据库加载时间戳,用当前时间戳减去它(如果需要)并将其转换为一分钟前、2 分钟前、一小时前等?我需要帮助来显示具有该格式的时间戳。
<?php
function getuser_get($dt)
$query="SELECT huffid,fullname, photourl, gender, country, city, lastupdate, dob,
concat('[',(select GROUP_CONCAT('".'"sportname.":"'."',sportname,'".'"'."' SEPARATOR ',')
from personal_sport inner join sports on
personal_sport.sportid=sports.id where personal_sport.huffid=personal.huffid),']')
as sports FROM personal
order by fullname asc
limit 20;";
return $query;
?>
在 mysql 数据库中,lastupdate
列格式是这样的2018-06-21 01:05:07
,我需要在每次刷新应用程序时将其动态转换为“时间前”。有人可以帮忙吗?提前谢谢你。
【问题讨论】:
是的,很有可能,这是 PHP 方式***.com/questions/1416697/… 【参考方案1】:由于它被标记为 PHP,这里是使用DateTime::diff
的快速方法:
$date = new DateTime('2017-06-21 01:05:07');
$diff = $date->diff((new DateTime()));
echo $diff->format('%Y years %m months %d days %H hours %i minutes %s seconds ago');
测试时:
01 年 0 个月 0 天 09 小时 53 分 46 秒前
仅显示相关信息请参考this answer(我不会复制粘贴)
【讨论】:
PHP 5 >= 5.3.0 @MangeshSathe 文档可能需要更新此方法,我使用 PHP 7.2 运行它,之前从未遇到过任何问题。只要 OP 没有提到 PHP 版本约束,我就赢了不要改变我的答案。以上是关于PHP,从mysql加载时间戳并转换为时间前字符串的主要内容,如果未能解决你的问题,请参考以下文章