Теплота сгорания компонентов природного газа согласно ГОСТЭнтальпия образованияТермодинамика солнечных панелей: можно ли солнечными лучами нагрВ каких единицах измеряется ядерная энергия и энергетические харНовые производства России, открытые в 2020 годуХотите зарабатывать 200 000? Вам уже поздно, но есть шанс у ваших детеСлучай на экзамене: как вместо 5 получилось 2Кидок Google – бесплатный объем для фото-видео ограничат 15ГБ. СамоНаше будущее – распределенная генерация, но все новое – хороНиконовы: Прадед Василий и прабабушка ПелагеяЗайцевы: Прадед Михей, его брат Архип и дед ПавелАльткотельная: что это такое и где обманываютБлаготворительность: за и противПроблемы современного образованияДо властей дошло – снижения ставки по ипотеке не делает жилье дАдекватность школьного курса математикиМожно ли увеличить мощность передаваемую по кабелюКак продолжительный карантин скажется на здоровьеСроки эпидемииКак наблюдать взаимное сокращение длины в обычной жизни, без всякЕГЭ по математике в дурдомеНидерланды: вход в закон евро, выход дваПутешествие бутылки из России в ГерманиюВызов России в Нагорный КарабахТеплота сгорания метана, бутана и пропанаНавальный стал совсем плохЭкспериментальная проверка парадокса близнецовВласти борются с анонимностью в интернете путем арестовСберМаркет: какое будущее нас ждетСравнение зависимости бюджета России от нефти 2011 и в 2021 годуНавальный обходит ПутинаСША: убийственные данные по эпидемииСоздателя Nexta будут судить?Парадокса близнецов нет: объяснение на школьном уровнеСкладывается впечатление, что пенсию скоро вообще отменятКак бухают американцыКак “прямо” проверить постоянство скорости светаВ чем суть парадокса “Парадокс близнецов”Мы говорим навальный, подразумеваем Скрипаль. Мы говорим Скрипал�Как сделать видеонаблюдение на даче?ОСАГО: кто виноват и что делатьСтраховые компании мошенничают с ОСАГО?Половина американцев не имеют свободных 100 долларовИмеют ли США право вводить санкции?Сколько платят за ЖКХ в США50% американцев получают от правительства больше денег, чем отдаютРаковая опухоль БелоруссииВельмі верагоднаКак отравили НавальногоЧто делать со старыми блоками питания?Кто ответит за карантин?Сила тяжести на поверхности классической черной дырыСравнение стоимости кВт⋅ч от солнечных панелей и ТЭСДоходы и расходы американцевПосле Лукашенко хоть потоп!

Как подсчитать количество дней между двумя записями на сайте (php)

У меня на моем сайте о моих путешествиях в отдельных категориях собраны записи одного путешествия. Как правило, первая запись – начало путешествия, дата которого – это дата начала. Последняя запись – конец, дата окончания.

Чтобы автоматически посчитать длительность как отдельного путешествия, как и суммарно всех путешествий, нужно было посчитать количество дней между первой и последней датой по категориям, которые относятся к отдельным путешествия.
Готового решения не нашел, с помощью спецов, составил такой код.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
$d[0]=0;
$i=0;
//********** Получаем все подкатегории категории id=165
$args=array(
'orderby' => 'name',
'order' => 'ASC',
'parent' => 165
);
$categories=get_categories($args);
foreach($categories as $category) {
//if ($category->category_parent != 0) {
//********** Для каждой подкатегории определяем дату первого поста
$posts_asc = get_posts( array(
	'numberposts'     => 1,
	'category'        => $category->term_id,
	'orderby'         => 'post_date',
	'order'           => 'DESC'
) );
$date_end = $posts_asc[0]->post_date;
//********** Для каждой подкатегории определяем дату последнего поста
$posts_desc = get_posts( array(
	'numberposts'     => 1,
	'category'        => $category->term_id,
	'orderby'         => 'post_date',
	'order'           => 'ASC'
) );
$date_start = $posts_desc[0]->post_date;
//********** Вычисляем длительность каждой категории
$i=$i+1;
$d[$i]=round( ( strtotime( $date_end ) - strtotime( $date_start ) ) / DAY_IN_SECONDS );
$d[0]=$d[0]+$d[$i];
//********** Выводим подкатегории и длительность в днях.
echo '<a href="' . get_category_link( $category->term_id ) . '" ' . '>' . $category->name.'</a> ';
echo $d[$i], "\n";
}
//}
echo "Общее количество дней ",$d[0];

Конечно же вам потребуется немного модифицировать код под ваши id категорий и вашу конкретику. Если возникнут затруднения – пишите, постараюсь помочь!))

Это моя статья с моего старого сайта о путешествиях selftrips.ru. Тогда у меня не было другого сайта, и я публиковал там совершенно не тематические статьи.Теперь переношу сюда. Дата оригинальной статьи.
Дзен версия.

© Копирование и перепечатка материалов только с разрешения автора

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: