PHP查找最接近时间轴周期的日期

Chr*_*ian 7 php date range period

所以,呃,好的.这可能是数学的,所以希望你随身携带科学计算器;)

这是我的问题:

替代文字

给定初始日期(时间戳),时间段(秒)和今天的日期(时间戳),我需要找到最近的日期,该日期与周期*n加上原始/初始日期一致.

到目前为止,我得到了一些很好的工作,例如初始和最终(今天)日期之间的"句点"数量,在上面的演示中为"2":

$initial=strtotime('2 April 1991');
$time=time();
$period=strtotime('+10 years',0);

$periods=round(($time-$initial)/$period);
Run Code Online (Sandbox Code Playgroud)

我做的下一件事是:

$range=$periods*$period;
Run Code Online (Sandbox Code Playgroud)

最后:

echo date('d M Y',$initial+$range);
Run Code Online (Sandbox Code Playgroud)

其中写道'2011年4月3日'.怎么到3?(我怀疑这是闰年问题吗?)当你错过一些小事时,你知道这种感觉吗?我现在感觉到这一切......

小智 1

试试这个:

$current = $initial = strtotime('2 April 1991');
$time_span = '+10 years';

while ($current < time())
{ 
  $current = strtotime($time_span, $current);
}

echo date('d M Y', $current);
Run Code Online (Sandbox Code Playgroud)