<?xml version='1.0' encoding='UTF-8'?>
<rss version='2.0'>
	<channel>
		<title>lily-software.com : посчитать разницу между TIMESTAMP на PHP</title>
		<link>https://lily-software.com</link>
		<description>Последние сообщения в теме</description>
		<generator>Cotonti</generator>
		<language>ru</language>
		<pubDate>Sat, 02 May 2026 02:41:00 +0300</pubDate>

		<item>
			<title>Alex</title>
			<description><![CDATA[Я использую такую функцию:	<br />
<br />
<pre class="code">
/**
	* Вычисляем разницу между двумя timestamps
	* Параметры:
	*   string $date_start начальная дата в формате unix timestamp
	*   string $date_finish конечая дата в формате unix timestamp
	* Возвращает
	*   массив в следующем формате: 0 =&gt; секунды, 1 =&gt;	минуты, 2 =&gt; часы, 3 =&gt; дни, 4 =&gt; месяцы, 5 =&gt; годы
	* @author zerkms (Ivan Kurnosov)
	*/
	
	function calcPeriod($date_start, $date_finish) {
		$st = explode('-', date('d-m-Y-H-i-s', $date_start));
		$fin = explode('-', date('d-m-Y-H-i-s', $date_finish));

		if (($seconds = $fin&#091;5&#093; - $st&#091;5&#093;) &lt; 0) {
				$fin&#091;4&#093;--;
				$seconds += 60;
		}

		if (($minutes = $fin&#091;4&#093; - $st&#091;4&#093;) &lt; 0) {
				$fin&#091;3&#093;--;
				$minutes += 60;
		}

		if (($hours = $fin&#091;3&#093; - $st&#091;3&#093;) &lt; 0) {
				$fin&#091;0&#093;--;
				$hours += 24;
		}

		if (($days = $fin&#091;0&#093; - $st&#091;0&#093;) &lt; 0) {
				$fin&#091;1&#093;--;
				$days = date('t', mktime(1, 0, 0, $st&#091;1&#093;, $st&#091;0&#093;, $st&#091;2&#093;)) - $st&#091;0&#093; + $fin&#091;0&#093;;
		}

		if (($months = $fin&#091;1&#093; - $st&#091;1&#093;) &lt; 0) {
				$fin&#091;2&#093;--;
				$months += 12;
		}

		$years = $fin&#091;2&#093; - $st&#091;2&#093;;
		
		return array($seconds, $minutes, $hours, $days, $months, $years);
	}</pre>
<br />
вот пример ипользования:<br />
<br />
<pre class="code">$date_finish = strtotime(&quot;1-03-2008&quot;);
$date_start = strtotime(&quot;31-01-2008&quot;);

$result = calcPeriod($date_start, $date_finish);

echo 'C ' . date('h:i:s d-m-y', $date_start) . ' по '. date('h:i:s d-m-y', $date_finish) .' прошло ' . $result&#091;0&#093; . ' секунд ' . $result&#091;1&#093;. ' минут ' .$result&#091;2&#093; . ' часов ' .$result&#091;3&#093; . ' дней ' . $result&#091;4&#093; . ' месяцев ' . $result&#091;5&#093; . ' лет &lt;br&gt;';

</pre>]]></description>
			<pubDate>ср, 01 окт 2008 19:23:39 +0300</pubDate>
			<link><![CDATA[https://lily-software.com/forums?m=posts&q=75&d=0#post303]]></link>
		</item>
		<item>
			<title>Maikl</title>
			<description><![CDATA[Всем привет!<br />
<br />
Поздравляю всех с днем города Астрахань <img class="aux smiley" src="https://lily-software.com/./images/smilies/smile.gif" alt=":)" /><br />
<br />
А вот и сама проблема:<br />
Есть две временные метки TIMESTAMP. Требуется средствами PHP вычислить разницу и вывести ее в днях, месяцах и годах. Фактически нужно посчитать разницу в датах, то есть вывести что то типо такого: &quot;прошло 15 дней 2 месяца и 4 года&quot;<br />
Два дня голову ломаю, пока безуспешно.]]></description>
			<pubDate>ср, 01 окт 2008 13:57:49 +0300</pubDate>
			<link><![CDATA[https://lily-software.com/forums?m=posts&q=75&d=0#post301]]></link>
		</item>
	</channel>
</rss>