Время в iso формате

<?php
/**
 * Время в iso формате
 * автор: Nc_Soft
 * 27.05.09
 */

/*Функция форматирует дату из бд (поле timestamp или datetime) в формат iso
с учетом временного сдвига.
Сдвиг отсчитывается от локального времени системы, а не по Гринвичу*/

function date_iso($data, $shift='+0') {
	
	$data=date('Y-m-d H:i:s', strtotime("$data $shift hour"));
	$p=date_parse($data);

	if ($p['error_count']) return ;

	static $m_collation=array(
	'января',
	'февраля',
	'марта',
	'апреля',
	'мая',
	'июня',
	'июля',
	'августа',
	'сентября',
	'октября',
	'ноября',
	'декабря',
	);

	return '<span class="time">'.$p['day'].' '.
	$m_collation[$p['month']-1].' '.
	$p['year'].', '.
	sprintf('%02d', $p['hour']).':'.sprintf('%02d', $p['minute']).'</span>';
}

echo '<br />Дата на пробу<br />';
echo date_iso('2009-05-27 01:53:32');

echo '<br />А теперь сдвинем на час вперед<br />';
echo date_iso('2009-05-27 01:53:32', '+1');

echo '<br />И на 3 часа назад<br />';
echo date_iso('2009-05-27 01:53:32', '-3');