Php создать массив дат

Формирование массива, содержащий все часы из интервала

Массив с интервалом одного дня

$period = new DatePeriod( new DateTime('09:00'), new DateInterval('PT1H'), new DateTime('18:01') ); $dates = array(); foreach ($period as $key => $value) < $dates[] = $value->format('H:00'); > print_r($dates);

Результат:

Array ( [0] => 09:00 [1] => 10:00 [2] => 11:00 [3] => 12:00 [4] => 13:00 [5] => 14:00 [6] => 15:00 [7] => 16:00 [8] => 17:00 [9] => 18:00 )

Интервал с шагом в 30 минут

$period = new DatePeriod( new DateTime('09:00'), new DateInterval('PT30M'), new DateTime('18:01') ); $dates = array(); foreach ($period as $key => $value) < $dates[] = $value->format('H:i'); > print_r($dates);

Результат:

Array ( [0] => 09:00 [1] => 09:30 [2] => 10:00 [3] => 10:30 [4] => 11:00 [5] => 11:30 [6] => 12:00 [7] => 12:30 [8] => 13:00 [9] => 13:30 [10] => 14:00 [11] => 14:30 [12] => 15:00 [13] => 15:30 [14] => 16:00 [15] => 16:30 [16] => 17:00 [17] => 17:30 [18] => 18:00 )

Массив c интервалом в несколько дней

$period = new DatePeriod( new DateTime('28.03.2022 18:00'), new DateInterval('PT1H'), new DateTime('29.03.2022 09:01') ); $dates = array(); foreach ($period as $key => $value) < $dates[] = $value->format('d.m.Y H:00'); > print_r($dates);

Результат:

Array ( [0] => 28.03.2022 18:00 [1] => 28.03.2022 19:00 [2] => 28.03.2022 20:00 [3] => 28.03.2022 21:00 [4] => 28.03.2022 22:00 [5] => 28.03.2022 23:00 [6] => 29.03.2022 00:00 [7] => 29.03.2022 01:00 [8] => 29.03.2022 02:00 [9] => 29.03.2022 03:00 [10] => 29.03.2022 04:00 [11] => 29.03.2022 05:00 [12] => 29.03.2022 06:00 [13] => 29.03.2022 07:00 [14] => 29.03.2022 08:00 [15] => 29.03.2022 09:00 ) 

Источник

Читайте также:  Session type in java

Заполненные PHP-массивы для дат

Заполненные PHP-массивы с элементами дат для проверки данных, операций с датами, вывода списков в формах и т.д.

Часы

$array = array( 1 => '01', 2 => '02', 3 => '03', 4 => '04', 5 => '05', 6 => '06', 7 => '07', 8 => '08', 9 => '09', 10 => '10', 11 => '11', 12 => '12', 13 => '13', 14 => '14', 15 => '15', 16 => '16', 17 => '17', 18 => '18', 19 => '19', 20 => '20', 21 => '21', 22 => '22', 23 => '23', 24 => '24' );

Время суток

$array = array( 1 => 'утро', 2 => 'день', 3 => 'вечер', 4 => 'ночь' );

Дни недели

$array = array( 1 => 'понедельник', 2 => 'вторник', 3 => 'среда', 4 => 'четверг', 5 => 'пятница', 6 => 'суббота', 7 => 'воскресенье' );

Массив с месяцами

$array = array( 1 => 'Январь', 2 => 'Февраль', 3 => 'Март', 4 => 'Апрель', 5 => 'Май', 6 => 'Июнь', 7 => 'Июль', 8 => 'Август', 9 => 'Сентябрь', 10 => 'Октябрь', 11 => 'Ноябрь', 12 => 'Декабрь' );

Массив с датами текущего месяца

$start = strtotime(date('Y-m-01')); $finish = strtotime(date('Y-m-t')); $array = array(); for($i = $start; $i print_r($array);

Результат:

Array ( [0] => 01.07.2023 [1] => 02.07.2023 [2] => 03.07.2023 [3] => 04.07.2023 [4] => 05.07.2023 [5] => 06.07.2023 [6] => 07.07.2023 [7] => 08.07.2023 [8] => 09.07.2023 [9] => 10.07.2023 [10] => 11.07.2023 [11] => 12.07.2023 [12] => 13.07.2023 [13] => 14.07.2023 [14] => 15.07.2023 [15] => 16.07.2023 [16] => 17.07.2023 [17] => 18.07.2023 [18] => 19.07.2023 [19] => 20.07.2023 [20] => 21.07.2023 [21] => 22.07.2023 [22] => 23.07.2023 [23] => 24.07.2023 [24] => 25.07.2023 [25] => 26.07.2023 [26] => 27.07.2023 [27] => 28.07.2023 [28] => 29.07.2023 [29] => 30.07.2023 [30] => 31.07.2023 )

Массив с диапазоном годов

$start = 1990; $finish = date('Y'); $array = array(); for($i = $start; $i print_r($array);

Результат:

Array ( [0] => 1990 [1] => 1991 [2] => 1992 [3] => 1993 [4] => 1994 [5] => 1995 [6] => 1996 [7] => 1997 [8] => 1998 [9] => 1999 [10] => 2000 [11] => 2001 [12] => 2002 [13] => 2003 [14] => 2004 [15] => 2005 [16] => 2006 [17] => 2007 [18] => 2008 [19] => 2009 [20] => 2010 [21] => 2011 [22] => 2012 [23] => 2013 [24] => 2014 [25] => 2015 [26] => 2016 [27] => 2017 [28] => 2018 [29] => 2019 [30] => 2020 [31] => 2021 [32] => 2022 [33] => 2023 )

Источник

Читайте также:  Java тихая установка x64

Как получить все дни между датами в PHP

Несколько примеров как найти все дни в промежутке между двумя датами в виде значения и списка.

Количество дней между датами

$date_1 = '28.03.2022 00:00'; $date_2 = '02.04.2022 23:59'; $seconds = abs(strtotime($date_1) - strtotime($date_2)); echo round($seconds / 86400, 1); // 6
$date_1 = '28.03.2022 00:00'; $date_2 = '02.04.2022 18:00'; $seconds = abs(strtotime($date_1) - strtotime($date_2)); echo round($seconds / 86400, 1); // 5.6

Формирование массива, содержащий все дни из интервала

Первый способ – использование классов DatePeriod, DateTime и DateInterval (доступны с версии PHP 5.3).

* Если в конечной дате не указать время (23:59), то в результирующем массиве не будет последнего дня.

$period = new DatePeriod( new DateTime('28.03.2022'), new DateInterval('P1D'), new DateTime('02.04.2022 23:59') ); $dates = array(); foreach ($period as $key => $value) < $dates[] = $value->format('d.m.Y'); > print_r($dates);

Результат:

Array ( [0] => 28.03.2022 [1] => 29.03.2022 [2] => 30.03.2022 [3] => 31.03.2022 [4] => 01.04.2022 [5] => 02.04.2022 )

Функция на основе strtotime

function get_dates($start, $end, $format = 'd.m.Y') < $day = 86400; $start = strtotime($start . ' -1 days'); $end = strtotime($end . ' +1 days'); $nums = round(($end - $start) / $day); $days = array(); for ($i = 1; $i < $nums; $i++) < $days[] = date($format, ($start + ($i * $day))); >return $days; > $dates = get_dates('28.03.2022', '02.04.2022'); print_r($dates);

Результат:

Array ( [0] => 28.03.2022 [1] => 29.03.2022 [2] => 30.03.2022 [3] => 31.03.2022 [4] => 01.04.2022 [5] => 02.04.2022 )

Источник

PHP массив со значениями даты

PHP массив со значениями даты

Готовые массивы с значениями дат для проверки данных при разработке сайтов в Киеве, PHP функции для работы с датами, PHP модули вывода списков в нужных формах даты и время.

Часы

Время суток

Дни недели

Массив с месяцами

Массив с датами текущего месяца

КАТЕГОРИИ

  • Создание Интернет магазина
  • Создание корпоративного сайта
  • Создание сайта каталога
  • Создание сайта визитки
  • Создание Landing page
  • Создание эксклюзивного проекта
  • Создание сайта для дропшиппинга
  • Создание сайта для продажи
  • Создание новостного сайта
  • Создание сайта для доставки еды
  • Создание сайта для строительной компании
  • Создание сайта для юридической фирмы
  • Создание сайта для агентства недвижимости
  • Создание сайта для салона красоты
  • Создание сайта мебели
  • Создание сайта сантехники
  • Создание интернет-магазина кофе и чая
  • Создание интернет-магазина одежды
  • Создание интернет-магазина косметики
  • Создание интернет-магазина кондитера
  • Создание интернет-магазина парфюмерии
  • Создание интернет-магазина игрушек
  • Создание интернет-магазина посуды
  • Создание интернет-магазина электроники
  • Создание интернет-магазина строительных материалов
  • Создание интернет-магазина интимных товаров
  • Создание интернет-магазина спортивных товаров
  • Создание сайта для турагентства
  • Разработка сайта по трудоустройству
  • Создание сайта для хостинг компании
  • Создание сайта для психолога
  • Создание сайта для гос. организации
  • Создание сайта для стоматологии
  • Создание сайта для украинской православной церкви
  • Создание интернет-магазина мужской и женской обуви
  • Создание интернет-магазина сумок и чемоданов
  • Разработка интернет-магазина удобрений и семян
  • Разработка сайта по проведению онлайн семинаров
  • Создание сайта по аренде автобусов
  • Создание сайта по ремонту техники
  • Создание сайта по изделиям из камня и мрамора
  • Изготовление магазина медицинского оборудования
  • Изготовление сайта для учителя или репетитора
  • Изготовление сайта для кафе или ресторана
  • Разработка сайта для гостиницы, отеля
  • Создание сайта для фотографа
  • Создание интернет-магазина аптеки
  • Проектирование сайта для дистанционного обучения
  • Интернет-магазин товаров для животных
  • Создание сайта для цветочного магазина
  • Изготовление сайта ворот и ограждений
  • Создание сайта для продажи товаров

Источник

Перебор дат в заданном диапазоне на php.

На днях возникла задача на перебор дат в заданном диапазоне на php. Точнее — нужно было создать функцию, которая на входе принимала дату (в двух вариантах: день, месяц, год или месяц и год), а на выходе выдавала все даты месяца, который принимался в качестве аргумента, начиная с первого дня месяца, либо же с заданного, если он передается функции.

Например, передается дата 09-12-2013. Функция должна создать массив с датами, начиная с 2013-12-09 по 2013-12-31. Если же передается дата без дня, например, 12-2013, то возвращается массив дат с 2013-12-01 по 2013-12-31.

Основная трудность — это наличие различного количества дней в месяцах, поэтому мы не можем просто задать цикл из 30 или 31-го дней. Должен быть учет всех этих вариаций и наличие 29-го февраля (раз в 4 года). Но решение оказалось простым. Вот, собственно говоря, сама функция:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
function getDatesArray($day = null, $month, $year) < //инициализируем массив, в котором будем сохранять даты $dates = array(); //определяем день старта if ($day) < $date = $year . '-' . $month . '-' . $day; >else < $date = $year . '-' . $month . '-01'; >//заполняем массив датами do < $dates[] = $date; echo $date . "
"; $date = date('Y-m-d', strtotime($date . ' + 1 days')); $currDateArr = explode('-', $date); > while ($month == $currDateArr[1]); >

Для получения нового дня, используем простое выражение strtotime($date . ‘ + 1 days’). Выход из цикла осуществляется проверкой равенства месяца текущей (новой) даты и заданного месяца.

Если мы вызовем функцию со следующими аргументами:

то получим даты:

2013-10-01
2013-10-02
2013-10-03

2013-10-31

Встроенные в php функции по форматированию даты сами определяют, сколько дней в том или ином месяце.

P.S. Если у вас есть вариант более лаконичный — пишите в комментариях:)

Источник

Оцените статью