我希望有人可以帮助我.
我正在尝试建立一个下拉菜单,显示接下来的4-6个星期二的正确日期.这已经有效了.现在的问题是,我需要以下内容:
如果今天是星期三,那么下拉应该从第一个星期二开始,但不是从下周开始,而是从下周的一周开始.为什么?因为我总是需要在注册和交付时间之间的整整7天.
因此,如果今天是星期一,下一个(第一个)星期二应该是下周的星期二.也就是说今天是星期五,然后我的下拉菜单不应该从下周的星期二开始,而是从下周的星期二开始.
就像是:
今天是星期一 – 明天将是星期二,但是没有7天,所以应该显示下周二的星期二.
这是我到目前为止:
$begin = new DateTime('tuesday this week');
$end = new DateTime('last tuesday of next month');
$interval = new DateInterval( 'P1W' );
$daterange = new DatePeriod( $begin, $interval ,$end );
foreach($daterange as $date){
"; echo $date->format('l'); echo $date->format('d.m.Y'); print"
}
知道如何实施检查,如果7天之间?
希望我的问题很明确.如果没有,请告诉我.
解决方法:
您可以使用最小日期时间实例进行比较.
$begin = new DateTime('next tuesday');
$min = new DateTime('+7 days');
$interval = new DateInterval( 'P1W' );
if ($begin < $min) {
$begin->add($interval);
}
但是,如果你从现在开始总是想要两个星期二,这个简单的改变可能会起作用:
$begin = new DateTime('next tuesday +7 days');
标签:php,datetime,date
来源: https://codeday.me/bug/20190727/1549686.html