【问题标题】:days, hours, and minutes remaining in phpphp 中剩余的天数、小时数和分钟数
【发布时间】:2016-11-05 10:10:22
【问题描述】:

我有来自数据库1496592689的这个时间戳

问题是我不知道如何获得剩余的天数、小时数和分钟数

但我在下面有这段代码

这是我存储时间戳的变量$db_user_timestamp

现在我有这个当前时间$timenow = time();

我试图用它来计算它

$remainingtime = $db_user_timestamp - $timenow;

但我不知道如何把它放在天、小时和分钟。

提前感谢您帮助我:)

【问题讨论】:

标签: php


【解决方案1】:

始终使用DateTime

$create_time = "1496592689";
$current_time = time();

$dtCurrent = DateTime::createFromFormat('U', $current_time);
$dtCreate = DateTime::createFromFormat('U', $create_time);
$diff = $dtCurrent->diff($dtCreate);

$interval = $diff->format("%y years %m months %d days %h hours %i minutes %s seconds");
$interval = preg_replace('/(^0| 0) (years|months|days|hours|minutes|seconds)/', '', $interval);

echo $interval;

结果

 6 months 30 days 5 hours 52 minutes

【讨论】:

  • 这个工作需要什么版本的php才能使用这个?
  • 5.2.0。我在评论中重复发布的问题并没有提供直接的答案,它提供了一个提示,如果你想成为一名优秀的程序员,你必须遵循、分析和研究提示。不是每个人,也不是每次都会提供一个直截了当的答案。
【解决方案2】:

如果您的 PHP 版本是 5.3 或最新,您应该检查 http://php.net/manual/en/class.dateinterval.phphttp://php.net/manual/en/datetime.diff.php

$datetime1 = new DateTime(date('Y-m-d H:i:s', $db_user_timestamp));
$datetime2 = new DateTime(date('Y-m-d H:i:s'));
$interval = $datetime1->diff($datetime2);
echo $interval->format('%y years %m months %d days %h hours %m minutes %s seconds');

【讨论】:

  • 这个也有效 我看到了这段代码,但你修改了它,现在可以了。非常感谢。
  • 将产生0 years。同样做new DateTime(date('Y-m-d H:i:s', $db_user_timestamp)); 是错误的。
【解决方案3】:
<?php
$db_user_timestamp = 1496592689;
$difference = $db_user_timestamp - time();
echo "Day : ".$day = date('d',$difference);
echo "<br>Hour : ".$hour = date('H',$difference);
echo "<br>Minute : ".$minute = date('i',$difference);
?>

【讨论】:

  • 这个有用但不准确,它没有得到确切的日期
  • date 已过时,不应再在 OOP 中使用。另外,它并不总是给出精确的间隔。
  • 是的,有时它的 d-m-y 格式或 H:i:s 格式,但是当用户知道使用哪个时间戳时,它就很有用了。
【解决方案4】:

使用日期('M/d/Y H:i:s', $theTimestamp);将以您想要的顺序为您提供日、月、年、小时、分钟、秒的日期(根据http://php.net/manual/en/function.date.php 将“M/d/Y H:i:s”更改为您的字符串)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-22
    • 1970-01-01
    • 1970-01-01
    • 2018-10-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多