如何在D日之前验证X天?

时间:2012-11-16 13:37:00

标签: php

  

可能重复:
  How to calculate the difference between two dates using PHP?

假设我已经给出了这样的日期:

$Christmas = '2012-12-25';
$Today = date('Y-m-d');

我想创建一个if语句,如下所示:

if ($Today != 7 days before $Christmas) {
  echo 'Christmas still to far away';
}else ($Today == 7 days before $Christmas) {
  echo 'Christmas will be here within less than a week!';
}

如何创建类似的验证日期?感谢。

1 个答案:

答案 0 :(得分:0)

这是一个简单的解决方案..这至少可以为您提供如何做的基本想法。

像这样的简单事情不需要任何复杂性......用数年,数月等来计算更大的日期需要更复杂的解决方案,通常预制的库最好。

请注意,在我的示例中,天数将是浮动的。因此输出给用户需要进行一些舍入。

我们的想法是将时间转换为UNIX时间戳,将其减去并除以一天中的秒数84,600。普雷斯托!天数!

<?php

$today = time();
$xmas = strtotime("12/25/2012");
// You can also use mktime():
// $xmas = mktime(0, 0, 0, 12, 25, 2012)
$diff = ($xmas-$today);
$days = ($diff/84600);

if($days === 7)
{
    echo '1 week til xmas';
}
if($days > 0 && $days < 7)
{
    echo 'Less than 1 week to xmas';
}
if($days === 0)
{
    echo 'Today is xmas';
}
if($days < 0)
{
    echo 'xmas is long gone...';
}

?>