Witam
Nie wiem juz sam co jest nie tak ale czego bym nie wpisal w zmiennej $timestamp, wyswietla mi sie monit 'przed chwila'...
<?php
$timestamp = "2008-08-06 20:37:52";
function getMinutes($minut)
{
// j.pol
switch($minut)
{
case 0: return 0; break;
case 1: return 1; break;
case ($minut >= 2 && $minut <= 4):
case ($minut >= 22 && $minut <= 24):
case ($minut >= 32 && $minut <= 34):
case ($minut >= 42 && $minut <= 44):
case ($minut >= 52 && $minut <= 54): return "$minut minuty temu"; break;
default: return "$minut minut temu"; break;
}
return -1;
}
function getDiff($timestamp)
{
if ($timestamp > $now) {
echo 'Podana data nie może być większa od obecnej.'; // tutaj była 'zła data' return;
}
$diff = $now - $timestamp;
$minut = floor($diff/60
); $godzin = floor($minut/60
); $dni = floor($godzin/24
);
if ($minut <= 60) {
$res = getMinutes($minut);
switch($res)
{
case 0: return "przed chwilą";
case 1: return "minutę temu";
default: return $res;
}
}
if ($godzin > 6 && $godzin < 24) {
return "Dzisiaj ".date("H:i:s", $timestamp); }
elseif ($godzin > 0 && $godzin < 24) {
$restMinutes = ($minut-(60*$godzin));
$res = getMinutes($restMinutes);
if ($godzin == 1) {
return "Godzinę temu ".$res;
} else {
return "$godzin godzin temu ".$res;
}
}
if ($godzin >= 24 && $godzin <= 48) {
return "Wczoraj ".date("H:i:s", $timestamp); }
switch($dni)
{
case ($dni < 7
): return "$dni dni temu, ".date("Y-m-d", $timestamp); break; case 7
: return "Tydzień temu, ".date("Y-m-d", $timestamp); break; case ($dni > 7
&& $dni < 14
): return "Ponad tydzień temu, ".date("Y-m-d", $timestamp); break; case 14
: return "Dwa tygodznie temu, ".date("Y-m-d", $timestamp); break; case ($dni > 14
&& $dni < 30
): return "Ponad 2 tygodnie temu, ".date("Y-m-d", $timestamp); break; case 30: case 31: return "Miesiąc temu"; break;
case ($dni > 31
): return date("Y-m-d", $timestamp); break; }
return date("Y-m-d", $timestamp); }
$wynik = getDiff($time);
?>