Вывод текущего года при помощи php.
Самой популярным действием с датами в php - является вывод текущего года в footer'е вашего сайта. Делается это путём размещения в footer'е вашего сайта следующего кода:
<? echo date('Y');?> © Все права защищены.
Вывод текущей даты в php
Для того чтобы вывести текущую дату в php используем функции date(). Для этого разместим в нужном месте следующее выражение:
<? echo date('d-m-Y'); ?>
Вывод текущего времени в php
Чтобы отобразить текущее время, опять воспользуемся функцией date(). Для этого в нужном Вам месте разместите следующее выражение:
<? echo date('Н:i:s');?>
Разбить выбранный промежуток дат на равные периоды в php
Допустим у Вас на сайте есть форма в которую необходимо ввести временной промежуток, выбрать даты от и до. Далее происходит какая-то обработка, запрос данных соответствующих данному временному промежутку.
Для того, чтобы в отправляемом пользователю запросе не содержалось слишком много данных, что в первую очередь вызовет длительное время обработки этого запроса, логично разбить указанный пользователем период на равные под периоды.
/* Начальную и конечную дату получаем из формы 1. начальная дата содержится в поле формы с именем - start. 2. конечная дата содержится в поле формы с именем - end. 3. Даты получаем в формате 2020-01-30 ( Y-m-d, год, месяц, день ) */ $start = new \DateTime($_REQUEST['start']); $end = new \DateTime($_REQUEST['end']); /* Указываем на какие интервалы будем разбивать временной период. Для примера по 30 дней. Чтобы разбить по неделям, нужно указать формат P1W Чтобы разбить по дням, нужно указать формат P1D */ $interval = new \DateInterval('P30D'); /* Добавляем к конечной дате время 23:59:59 */ $add23Hours = new \DateInterval('PT23H59M59S'); $end->add($add23Hours); /* Данной функцией получаем заданные интервалы, интервалы являются объектом типа DateTime. Чтобы проще было работать с датами интервалов, соберём */ $dateRange = new \DatePeriod($start, $interval, $end, 0);
foreach ($dateRange as $key=>$date) { $rsDate[] = $date->format('Y-m-d H:i:s'); } /* Если конечная дата end учитывается только в том случаи, если является начальной следующего интервала. Поэтому нужно сделать проверку на наличие даты end и если её нет, то добавить в массив. */ $last_date = new \DateTime($rsDate[count($rsDate) - 1]); if ($end->diff($last_date)->format('%d') > 0){ $rsDate[] = $end->format('Y-m-d H:i:s'); }
В итоге в переменной $rsDate будет содержаться массив наших интервалов, элементы массива являются начально датой интервала.
Для примера выведем интервалы для дат: от 2020-08-02 до 2020-12-03 с интервалами по 30 дней
Array
(
[0] => 2020-08-02 00:00:00
[1] => 2020-09-01 00:00:00
[2] => 2020-10-01 00:00:00
[3] => 2020-10-31 00:00:00
[4] => 2020-11-30 00:00:00
[5] => 2020-12-03 23:59:59
)