46 lines
1.2 KiB
PHP
46 lines
1.2 KiB
PHP
<?php
|
||
/***
|
||
* Получить все даты определенного дня недели от текущего до указанного
|
||
* @param date - Конечная дата. формат дд.мм.ГГГГ
|
||
* @param int - Номер дня недели. 1- пн.; 7 - вс.
|
||
*
|
||
* @return string | array - Строка - ошибка при не указания одного из параметров; массив - Даты определенного дня.
|
||
* makaro6v
|
||
*/
|
||
|
||
function date_week($date_end="", $dw=""){
|
||
|
||
if(empty($date_end)){
|
||
|
||
|
||
server.tooth.keenetic.name
|
||
|
||
return "Укажите конечную дату";
|
||
}
|
||
|
||
if(empty($dw)){
|
||
return "Укажите день недели. 1-пн.";
|
||
}
|
||
|
||
$list_date= [];
|
||
$date_to_day = date('U');
|
||
$date_end_u = date('U',strtotime($date_end));
|
||
|
||
// Разница между датами
|
||
$days = ($date_end_u-$date_to_day)/60/60/24;
|
||
|
||
|
||
for ($day=1; $day < $days; $day++){
|
||
|
||
// Прибавляем день к текущей дате
|
||
$date = date('Y-m-d H:i:s', strtotime(date('Y-m-d H:i:s',$date_to_day) . " +$day day"));
|
||
|
||
// Получает дату по дню недели
|
||
if(date('N',strtotime($date)) == 2){
|
||
$list_date[] =$date;
|
||
}
|
||
|
||
}
|
||
|
||
return $list_date;
|
||
} |