Я пытаюсь выяснить, какой будет дата (m-d-Y) для конкретной недели. Дата, которую я пытаюсь вычислить, будет передана в виде строки дня («понедельник», «вторник» и т. Д.), А неделя будет объектом PHP DatePeriod. Я буду передавать конкретную дату, и я хотел бы выяснить любую дату этой недели DatePeriod. Кто-нибудь может мне помочь, пожалуйста!
РЕДАКТИРОВАТЬ: Извините, я боролся с тем, как спросить это. Допустим, мне нужно добавить событие в календарь, который будет повторяться каждую неделю в течение месяца. У меня есть начальная дата (например, 7-23-2015), и мне нужно добавить событие для понедельника, вторника и четверга для этой недели и каждую неделю после этого месяца. Поэтому мне нужно выяснить, какой будет дата этого дня на той неделе, на которой я нахожусь. Имеет ли это смысл?
// Making test period
$begin = new DateTime( '2015-07-20' );
$end = new DateTime( '2015-07-27' );
$interval = new DateInterval('P1D');
$daterange = new DatePeriod($begin, $interval ,$end);
// Array of day names
$days = ['monday', 'tuesday', ... ];
// String we looking for
$string = 'tuesday';
// day of week - monday is zero
$i = array_search($string, $days);
if ($i !== false) {
// add i to find needed day
echo $daterange->start->modify( "+$i day" )->format("Y-m-d");
}
Других решений пока нет …