Показать сообщение отдельно
  #17 (permalink)  
Старый 24.04.2013, 18:47
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

function convertDate($string, $timezone = 'UTC') {
	$months = array(
		'Января','Февраля', 'Марта', 'Апреля', 'Мая', 'Июня',
		'Июля', 'Августа', 'Сентября', 'Октября', 'Ноября', 'Декабря'
	);

	$time = strtotime($string);
	$timeZoneShift = ($time - strtotime($string.' '.$timezone));
	$currentTime = time() + $timeZoneShift;
	$time = $time + $timeZoneShift;
	$firstToken = $time - strtotime('00:00:00', $currentTime) >= 0
		? 'Сегодня' : ($time - strtotime('-1 day 00:00:00', $currentTime) >= 0
		? 'Вчера' : 'j '.$months[date('n', $time) - 1].' Yг.');

	return date($firstToken.' в H:i', $time);
}

echo convertDate('2013-04-23 15:59:59', 'GMT+4');
вторым параметром, временная зона пользователя
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием