Преобразование SQL даты в PHP дату

Эта записка о частой необходимости программиста, создающего сайты. Все выглядит так: в базе данных тип DATE, который в РНР выглядит как обычная строка “2011-06-13”. Наша цель преобразовать эту дату в формат, пригодный для использования функцией date(). А с помощью этой функций мы сможем получить все что угодно:

  • день
  • месяц буквами (полный, 3 буквы)
  • год
  • високосный год?
  • день недели
  • номер месяца

Все настолько просто

$phpdate = strtotime( $mysqldate );

Используем так

$pattMonth = ‘M’;
$pattDay = ‘j’;
$pattYear = ‘Y’;
$phpdate = strtotime($sqlDate);
$day = date($pattDay, $phpdate);
$mon = date($pattMonth, $phpdate);
$year = date($pattYear, $phpdate);

Реальный пример, как получить дату вида 27 декабря, 2011

$phpdate = strtotime($date);
$day = date(‘j’, $phpdate); // day
$mon = getRusDate(date(‘M’, $phpdate)); // month
$year = date(‘Y’, $phpdate); //year 2011
$tdate = “$day $mon, $year”;
echo $tdate;

На всякий случай код для обратного действия – записи из РНР в базу данных

$mysqldate = date( ‘Y-m-d’, $phpdate );
$mysqldatetime = date( ‘Y-m-d H:i:s’, $phpdate );

Получение полной временной метки

$mysqldate = $arrayData[$id][‘date’].’ ‘.$arrayData[$id][‘time’];
$phpdate = strtotime($mysqldate);
$need = date(‘r’, $phpdate);

На входе у нас “2011-04-29 02:54:00”, на выходе “Thu, 14 Jul 2011 22:14:00 +0400”. Это живой пример для RSS.

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься.

Я spam бот