php - 以程序方式评估 DateTime::diff 对象

标签 php datetime

我有一个倒计时函数,它(部分)返回给定日期/时间之前的“剩余时间”。该值作为 DateInterval 对象返回,并使用 diff 方法计算。

//calculate countdown time
$time_diff = $countdown->diff($current);

鉴于 $time_diff 是一个 DateInterval 对象,我该如何执行此操作?

if ($time_diff > 60) {

    //do stuff

}

我知道上面的代码不起作用,但是我如何/应该评估等效条件(“此 DateInterval 对象中剩余超过 60 秒”)?

问题是脚本用来将“剩余时间”作为 Unix 时间戳整数返回,并且我的系统中的大量脚本以更程序化的方式使用该函数。

预先感谢您提供任何有用的建议。

最佳答案

您可以从对象中获取各个值:

if ($time_diff->s > 60) {

    //do stuff

}

请参阅DateInterval class structure获取完整的属性列表。不过,我认为您需要查看对象上的每个值(天、分钟、年等),如果您想要经过的总秒数,请将它们全部加起来 - 当然,在您的用例(倒计时器)中,它可能永远不会差异超过几秒,因此可能没有必要。

关于php - 以程序方式评估 DateTime::diff 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13954589/

相关文章:

php - Laravel 5 联系表格不起作用

sql - 检查两个日期是否包含给定月份

通过将字符串转换为日期格式来对 Javascript 日期进行排序

android - 如何转换字符串数据如 2016-4-10 00 :00:00 to timestamp?

php - MySQL 连接 ('max_user_connections' )

php - pdo防止sql注入(inject)

java - java 8 中澳大利亚/墨尔本时区的日期时间日光节约问题

javascript - Symfony 3 从用户那里获取时区,而无需以表单询问他们

php - 隐藏字段上的 Symfony2 数据转换器

javascript - 使用 chrome 的单个用户不会出现导航菜单