ЗАКЛЮЧИТЕЛЬНЫЙ ОТВЕТ:
Хорошо, после проверки этой темы , я выбрал этот подход как единственный, который, кажется, возвращает точную меру:
$dt = DateTime::createFromFormat('Y-m-d\TH:i:s.u\Z', $date);
$now = new DateTime();
echo ($now->getTimestamp() - $dt->getTimestamp())."\n";
ПОПЫТКИ:
В PHP 5.3 с использованием классов (без формата 'U'):
$dt = DateTime::createFromFormat('Y-m-d\TH:i:s.u\Z', $arr['launchTime']);
echo (new DateTime())->format('U');
В PHP 5.3 с использованием процедурных вызовов (также работает как окончательное решение):
$dt = date_create_from_format('Y-m-d\TH:i:s.u\Z', $arr['launchTime']);
$now = date_create();
echo ($now->getTimestamp() - $dt->getTimestamp());
В любой версии, используя strtotime (верните неверное время):
date_default_timezone_set('UTC');
echo time() - strtotime($arr['launchTime']);