[php]Zmiana wyświetlania daty

0

Witam chciałem zmienić date wyświetlania obecnie mam tak

".showdate("%d.%m.%Y %H:%M:%S", $data['download_datestamp']).

I wyświetla mi datę tak 13.05.2008 1415 a chciał bym zrobić aby wyświetlało się tak np. dodane 2 sekundy temu albo 30 min temu albo 2 dni temu wie ktoś tak to wykonać date w bazie mam zapisaną w formacie unixowy

0

Spróbuj tak:


showdate("%d.%m.%Y %H:%M:%S", time() - $data['download_datestamp']);
0

Nie o to mi chodziło mam taki kod i może mi ktoś powiedzieć czemu nie działa co jest w nim źle

$wynik = 1241449200;


$wynik= getDiff($time);  


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){    
    $now = time();        
    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);
0

Nie moge edtyować tutaj jest poprawiony kod ale dalej nie działa

$wynik = 1241449200;


$wynik= getDiff($time);  
$time = time(); 


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){    
    $now = time();        
    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);
0

Zainteresuj sie moze funkcja: strtotime() pozwala ona na latwiejsza manipulacje datami np

echo date('Y-m-d', strtotime('2008-04-01 + 2days -1week +3seconds'));

i tego typu manipulacje daje rade sie zrobic ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1