О Битрикс

PHP скрипт выводящий дату на несколько дней больше текущей

PHP скрипт выводящий дату на несколько дней больше текущейСкрипт, который каждый день прибавляет три дня к текущей и выводит дату. В том числе месяц выведен на русском в нужном формате.

Такой функционал может пригодится на странице акции со счетчиком. К примеру, если каждый день отсчет до окончания акции начинается заново и продолжительность равняется трем (пяти, шести и т.д.) дням. Вручную менять каждый день дату бывает неудобно и этот процесс можно автоматизировать с помощью данного кода:

<?
   $months = array( 1 => 'января' , 'февраля' , 'марта' , 'апреля' , 'мая' , 'июня' , 'июля' , 'августа' , 'сентября' , 'октября' , 'ноября' , 'декабря' );
   $date = new DateTime();
   $date->add(new DateInterval('P3D'));
   echo $date->format('d '. $months[date( 'n' )] ) . "\n";
?>

В первом скрипте есть значительный косяк: месяц не меняется до тех пор, пока не изменился фактически. То есть если число 28 апреля и через 3 дня наступает 1 мая, то будет выведена дата 01 апреля, что неверно.

Данный скрипт будет выводить правильный месяц:

<?    $months = array( 1=> 'января' , 2=> 'февраля' , 3=> 'марта' , 4=> 'апреля' , 5=> 'мая', 6=> 'июня' , 7=> 'июля' ,8=> 'августа' , 9=> 'сентября' , 10=> 'октября' , 11=> 'ноября' , 12=> 'декабря' );
   $date=new DateTime('+3 day');
   $month = $date->format('m'); // получаем месяц в формате строки в числовом варианте
   $month = (int)$month; // преобразуем строку к числу
   echo $date->format('d '.$months[$month] ) . "\n";?> // выводим месяц в текстовом варианте по соответствующему числовому ключу

сайт на Bitrix

Территориально я нахожусь в Санкт-Петербурге, но могу и готова работать со всеми, вне зависимости от вашего местоположения. Вы можете написать мне через форму обратной связи, либо связаться через социальные сети. Ознакомиться с портфолио можно здесь и здесь.

Социальные сети

Рандом новостей