php - 从当前日期时间减去日期时间以获得计时器

标签 php mysql datetime

我在 mysql 数据库中有一列是创建帖子的到期时间....我有一个页面试图显示在时间到达每个帖子的到期时间之前还剩下多少小时和秒。例如我的数据库中有这个:

2013-03-07 13:15:39

这显示此帖子何时过期......

现在我希望能够转到显示每个帖子的页面,然后显示每个帖子过期之前的剩余时间(基于当前时间)。

2013-03-07 12:15:39

到目前为止我一直在使用它:

$now = new DateTime(date("h:i:s",time()));
$exp = new DateTime($row['time_expires']);
$diff = $now->diff($exp);
printf('%d hours, %d minutes, %d seconds', $diff->h, $diff->i, $diff->s);

$row 从数据库中获取帖子的位置

它一直在工作,但有时似乎有问题......我不知道为什么,但它有时工作得很好,但当我再次检查它时,时间显示 15 小时到期,而实际上应该显示 2 小时

最佳答案

date() 中的

h 是12 小时制,这会造成混淆,因为DateTime 会将其解释为24 小时制一。默认情况下,DateTime 对象将具有当前时间,因此只需使用:

  $now = new DateTime();
  $exp = new DateTime($row['time_expires']);
  $diff = $now->diff($exp);

但 Marc B 的直接在查询中执行此操作的建议可能更好。

关于php - 从当前日期时间减去日期时间以获得计时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15281833/

相关文章:

php - 单击<a> href链接后如何插入数据库?

php - 我需要我的所有 PHP 类及其所在文件的列表 - 我可以在 Netbeans IDE 中完成吗?

mysql - 一张大 table 或多张小 table ,效率/良好实践

mysql - 创建表 DECIMAL 错误

c# - 比较日期没有给我选择的日期

python - pandas 数据框中的时间增量

php - phpunit selenium2 扩展中的显式等待

php - 对大型 MySQL 表进行排序和分页

mysql - 使用匹配和自然语言模式的低相关性结果

c# - 从数据库到日期时间选择器