使strtotime()仅在将来生成时间

时间:2009-12-24 01:47:36

标签: php codeigniter strtotime

我正在尝试创建一个PHP脚本来查找日期的下一个出现(例如5-1)。但是,如果我在5-2中将其放入strtotime(),那么就会出现今年的日期。我只想让它始终返回下一个可能的日期。我怎样才能做到这一点?如果有帮助,我正在使用codeigniter。

编辑:这是我提出的一些代码,如果一些谦卑的灵魂遇到同样的问题:

if (strtotime($date) < strtotime("now")) {
    $realseconds = strtotime($date) + 31556926; //add one year in seconds
} else {
    $realseconds = strtotime($date);
}

4 个答案:

答案 0 :(得分:2)

您可以检查返回的日期是否早于当前时间,如果是,则添加一年。

您还可以在明年将某个日期作为strtotime的第二个参数传递。

答案 1 :(得分:1)

什么是5-15-2?!

尝试这样做:

strtotime('next October');

答案 2 :(得分:1)

假设5-2意味着2月5日,你可以做到

strtotime("february 5 +1 year")

答案 3 :(得分:0)

代码:

$x=strtotime($inputString);
$YEAR=60*60*24*30*12;
while($x<$time()) $x+=$YEAR;

基本上,如果strtotime返回的日期是过去的话,它会增加一年...因为我使用了while()它将永远不会返回过去的日期,即使它明确地说明了那样