PHP - 使用PHP

时间:2018-03-23 15:19:00

标签: php date strtotime floor

我希望将来使用PHP检查给定日期是否超过20年

到目前为止,我这样做了:

<?php
$date = '2039-03-23';
if (floor((time() + strtotime($date)) / (60*60*24*365)) > 20)
{
    echo "date is in future over 20 years..<br>";
}
else
{
    echo "date is in future but less than 20 years.<br>";
}

但它没有用,有人可以告诉我这里我做错了什么。

提前致谢。

2 个答案:

答案 0 :(得分:2)

您现在将日期(time())添加到$date,并且在未来方面比预期更远,所以相反:

floor((strtotime($date)-time()) / (60*60*24*365))

应该给你2039-03-23和现在之间的区别。

请注意,您可以将日期设置为低于今天,并且您应该考虑添加“过去的日期”结果。

答案 1 :(得分:2)

虽然Nomis的答案是正确的,但你的aproach看起来非常复杂和丑陋。我使用View.startAnimation(inFromRightAnimation()); - 对象并使用它们:

DateTime

工作example