gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 12:57:11 24 4
gpt4 key购买 nike

所以,嗯,好的。这可能涉及到数学问题,所以希望你带上了科学计算器 ;)

这是我的问题:

alt text

给定初始日期(时间戳)、时间段(秒)和今天的日期(时间戳),我需要找到与时间段*n 加上原始/初始日期重合的最近日期。

到目前为止,我得到了一些效果很好的东西,例如初始日期和最终(今天)日期之间的“期间”数量,在上面的演示中为“2”:

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

$periods=round(($time-$initial)/$period);

接下来我做的是:

$range=$periods*$period;

最后:

echo date('d M Y',$initial+$range);

写着“2011 年 4 月 3 日”。怎么到3了? (我怀疑这是一个闰年问题?)你知道当你错过一些小东西时的感觉吗?我现在全身都感觉到了....

最佳答案

好吧,如果我明白你在问什么,你想知道给定时间段内的下一个日期(在你的情况下,从 1991 年 4 月 2 日开始每 10 年,下一个日期是什么时候: 2011 年 4 月 2 日)。

因此,您应该更深入地了解 DateTime PHP 中的类 wayyyy 更适合用于日期,因为它更准确。你把它和 DateInterval 混在一起完全符合您的需要:

<?php
$interval = new DateInterval('P10Y'); // 10 years
$initial = new DateTime('1991-04-02');
$now = new DateTime('now');

while ($now->getTimestamp() > $initial->getTimestamp()) {
$initial = $initial->add($interval);
}

echo $initial->format('d M Y'); // should return April 2, 2011 !
?>

关于PHP 查找最接近时间线周期的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4509115/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com