0

我正在尝试制作一个 PHP 脚本来查找下一次出现的日期(比如 5-1)。但是,如果我把它strtotime()放在 5-2 上,它会得出今年的日期。我只是想让它总是返回下一个日期。我怎样才能使这项工作?如果有帮助,我正在使用 codeigniter。

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

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

4 回答 4

2

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

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

于 2009-12-24T02:00:24.353 回答
1

什么是5-15-2?!

尝试这样做:

strtotime('next October');
于 2009-12-24T01:50:21.173 回答
1

假设 5-2 表示 2 月 5 日,你可以

strtotime("february 5 +1 year")
于 2009-12-24T02:05:36.543 回答
0

代码:

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

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

于 2009-12-24T12:55:23.803 回答