Получить время из строки даты/времени

У меня есть значение даты, хранящееся в переменной. Мне нужно извлечь временную часть значения в отдельную переменную, а затем добавить/вычесть из нее время.

Переменная даты задается с датой ("YmdHis"), давая (например) 20110805124000 на 5 августа 2011 года, 12:40:00

Из значения 20110805124000 (которое хранится в переменной $ fulltime) мне нужно сохранить время только в формате 12:40 (поэтому игнорируем год, месяц, день и секунды и добавляем двоеточие между часами и минутами) в переменная, называемая $ shorttime. Затем мне нужно добавить несколько часов к этому времени (так, например, +3 часов изменит значение в переменной $ shorttime до 15:40). Количество часов, которые мне нужно добавить, хранится в переменной с именем $ addtime, и это значение может быть отрицательным числом.

Это легко выполнимо? Может ли кто-нибудь помочь?

Благодаря :)

Ответ 1

Для решения PHP <5.0:

<?php
  $fulltime = '20110805124000';
  $addtime = -5;
  $time = substr($fulltime,8,2).":".substr($fulltime,10,2);
  $time = date("H:i",strtotime($time) + ($addtime*3600));
  echo $time;
?>

Ответ 2

$time = '2013-01-22 10:45:45';

echo $time = date("H:i:s",strtotime($time));

Это даст время 10:45:45 с даты и времени.