2015-07-22 3 views
-1

Я пытаюсь выяснить, какая дата (m-d-Y) будет на определенную неделю. Дата, которую я пытаюсь вычислить, будет передана как строка дня («месяц», «вторник» и т. Д.), А неделя будет объектом PHP DatePeriod. Я буду проходить в определенную дату, и я хотел бы выяснить дату этой недели DatePeriod. Кто-нибудь может мне помочь, пожалуйста!Получение даты определенного дня недели, когда неделя передается как переменная

EDIT: Извините, я боролся с тем, как это задавать. Предположим, мне нужно добавить событие в календарь, который будет повторяться каждую неделю в течение месяца. У меня есть начальная дата (например, 7-23-2015), и мне нужно добавить мероприятие в понедельник, вторник и четверг на эту неделю и каждую неделю после, за месяц. Поэтому мне нужно выяснить, какая дата будет в тот день в любую неделю, в которой я нахожусь. Это имеет смысл?

+0

Не знаю, к чему вы клоните. dateperiod - это всего лишь промежуток времени datetime, например. 'jan1 -> mar28'. точно КОТОРЫЙ из многих понедельников вы ожидаете получить от этого? –

+0

Можно ли считать период даты 7-дневным периодом и что вы хотите знать дату среды (например), которая приходится на этот период? –

+0

@JackAlbright Я так и думал, когда пишу ответ. Надеюсь, мы правы :) – splash58

ответ

0
// 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"); 
} 
Смежные вопросы