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

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

 
$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 '' . $category->name.' ';
echo $d[$i], "\n";
}
//}
echo "Общее количество дней ",$d[0]; 

Может кому пригодится!))


  • Другие статьи:

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

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