【问题标题】:PHP, load timestamp from mysql and convert into time ago stringPHP,从mysql加载时间戳并转换为时间前字符串
【发布时间】: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 mysql


【解决方案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 版本约束,我就赢了不要改变我的答案。
猜你喜欢
  • 2012-02-15
  • 1970-01-01
  • 2020-11-22
  • 1970-01-01
  • 1970-01-01
  • 2016-11-27
  • 1970-01-01
  • 2012-12-20
  • 1970-01-01
相关资源
最近更新 更多