Правильный способ работы с датами в PHP> = 5.2.0 использует DateTime, то есть:
$startRaw = '2013-05-10 12:04:58';
$start = DateTime::createFromFormat('Y-m-d H:i:s', $startRaw);
$endRaw = date("2015-05-10 12:04:58");
$end = DateTime::createFromFormat('Y-m-d H:i:s', $endRaw);
$diff = $start->diff($end);
echo 'Difference: ' . $diff->format('%y years') . "\n";
Выход:
Difference: 2 years
Демо:
http://ideone.com/3GzQsU
format
Следующие символы распознаются в строке параметров формата . Каждый символ формата должен иметь префикс знака процента (%).
% Literal % %
Y Years, numeric, at least 2 digits with leading 0 01, 03
y Years, numeric 1, 3
M Months, numeric, at least 2 digits with leading 0 01, 03, 12
m Months, numeric 1, 3, 12
D Days, numeric, at least 2 digits with leading 0 01, 03, 31
d Days, numeric 1, 3, 31
a Total amount of days 4, 18, 8123
H Hours, numeric, at least 2 digits with leading 0 01, 03, 23
h Hours, numeric 1, 3, 23
I Minutes, numeric, at least 2 digits with leading 0 01, 03, 59
i Minutes, numeric 1, 3, 59
S Seconds, numeric, at least 2 digits with leading 0 01, 03, 57
s Seconds, numeric 1, 3, 57
R Sign "-" when negative, "+" when positive -, +
r Sign "-" when negative, empty when positive -,
Узнайте больше о DateTime class
возможный дубликат [Как вычислить разницу между двумя датами с помощью PHP?] (Http://stackoverflow.com/questions/676824/how -в-высчитывает-разностной-между-два-дат-используя-PHP) –