Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 获取两个日期之间的发生次数/次数_Php_Date_Datetime_Time_Calendar - Fatal编程技术网

Php 获取两个日期之间的发生次数/次数

Php 获取两个日期之间的发生次数/次数,php,date,datetime,time,calendar,Php,Date,Datetime,Time,Calendar,我想知道两次约会之间的次数。我提供了4种类型的信息:频率、间隔、开始日期和结束日期 例如: freq = weekly interval = 1 startDate = 2019-03-10 endDate = 2019-03-24 我正在用给定的信息获取这两个日期之间的次数/日期/事件。事件的计数或数量 在本例中,由于频率为每周,间隔为1,这意味着每1周在起始日期重复一次事件。如果间隔改为2,则每2周一次。如果频率改为每日,间隔为3,则每3天一次 在本例中,第一个事件发生在2019-03-1

我想知道两次约会之间的次数。我提供了4种类型的信息:频率、间隔、开始日期和结束日期

例如:

freq = weekly
interval = 1
startDate = 2019-03-10
endDate = 2019-03-24
我正在用给定的信息获取这两个日期之间的次数/日期/事件。事件的计数或数量

在本例中,由于频率为每周,间隔为1,这意味着每1周在起始日期重复一次事件。如果间隔改为2,则每2周一次。如果频率改为每日,间隔为3,则每3天一次

在本例中,第一个事件发生在2019-03-10,第二个事件发生在2019-03-17,第三个事件发生在2019-03-24。在本例中,计数为3,因为有三个日期

我在找伯爵


谢谢

如果您使用Datetime类或Carbon,您可以轻松地循环这些日期之间的天/周/月。例如,如果您的freq=weekly,interval=1,给定您提供的startDate和endDate,代码如下:

使用碳\碳; $startDate=碳:2019,03,10,0,0; $endDate=碳::2019,03,24,0,0; $count=0; 一会儿$startDate->大于$endDate { $count+=1; 如果$freq==“每周” { $startDate->addWeeks$interval; } 如果$freq==‘每月’ { $stardDate->addMonths$interval; } }
在这个例子中,我使用carbon是因为它节省了您很多时间,但是您可以使用PHP Datetime类来实现这一点。

请分享您的尝试。另外,请列出可能的频率。问题。在您的示例中,“freq”和“interval”可被“startDate”和“endDate”整除,但如果您只是将“interval”从“1”更改为“3”,则“startDate”和“endDate”将不再被“freq”和“interval”整除。实例间隔1,每周,等于2019-03-10 1,2019-03-17 2,2019-03-24 3,但间隔3,每周将等于2019-03-10 1,因为下一个间隔将是2019-03-31,超过2019-03-24的“结束日期”。因此,我的是……即使“下一个间隔”超过了“结束日期”,“结束日期”也能保证“事件”在“结束日期”发生。。。。。。如果这是真的,“间隔”3的计数,每周将等于2019-03-1012019-03-242,或者如果这不是真的,“间隔”3的计数,每周将等于2019-03-1012。。。那么它将遵循哪条规则。。。当间隔=3、频率=每周、statrDate=2019-03-10、endDate=2019-03-24时,返回1或返回2?