Добавить php/date/date_week.php
Получить все даты определенного дня недели от текущего до указанного
This commit is contained in:
46
php/date/date_week.php
Normal file
46
php/date/date_week.php
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
<?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;
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user