如何在PHP中显示当前周的开始和结束日期?
很长一段时间以来,我一直在思考这个问题,我想做的是得到本周的开始日期和结束日期 本周从5月20日(星期一)开始至5月26日(星期日) 我的方法:如何在PHP中显示当前周的开始和结束日期?,php,date,datetime,Php,Date,Datetime,很长一段时间以来,我一直在思考这个问题,我想做的是得到本周的开始日期和结束日期 本周从5月20日(星期一)开始至5月26日(星期日) 我的方法: //GETTING DATA FOR CURRENT WEEK $dtFrom_current = new DateTime; // get current date $dtTo_current = new DateTime; $dtFrom_current->setISODate($dtFrom_current->format('o
//GETTING DATA FOR CURRENT WEEK
$dtFrom_current = new DateTime; // get current date
$dtTo_current = new DateTime;
$dtFrom_current->setISODate($dtFrom_current->format('o'), $dtFrom_current->format('W'));
$dtTo_current->setISODate($dtTo_current->format('o'), $dtTo_current->format('W') );
// add 1 day
$dtTo_current->add(new DateInterval('P1D') + 1 );
// convert to iso date for database use
echo $dFrom_current = $dtFrom_current->format('Y-m-d');
echo $dTo_current = $dtTo_current->format('Y-m-d');
但我确信我做错了什么,但不知道是什么,任何帮助都是感激的 您可能只是遗漏了一个小细节 首先,
DateInterval
应以间隔规范格式接收其参数。提到
除此之外,你只是在你的间隔时间上增加了1天,根据你想要达到的目标,你应该增加6天:
$dtTo_current->add(新的日期间隔('P6D')代码>
查看重构代码并对其进行测试:
//GETTING DATA FOR CURRENT WEEK
$dtFrom_current = new DateTime; // get current date
$dtTo_current = new DateTime;
$dtFrom_current->setISODate( $dtFrom_current->format( 'o' ), $dtFrom_current->format( 'W' ) );
$dtTo_current->setISODate( $dtTo_current->format( 'o' ), $dtTo_current->format( 'W' ) );
// add 1 day
$dtTo_current->add( new DateInterval( 'P6D' ) );
// convert to iso date for database use
echo $dFrom_current = $dtFrom_current->format( 'Y-m-d' );
echo "\n";
echo $dTo_current = $dtTo_current->format( 'Y-m-d' );
可能的复制品啊,太好了,我错过了什么,谢谢你的时间和努力,它的作品就像一个符咒:)