Formátování casu -> před x minutami, hodinami atd. – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Formátování casu -> před x minutami, hodinami atd. – PHP – Fórum – Programujte.comFormátování casu -> před x minutami, hodinami atd. – PHP – Fórum – Programujte.com

 

tribalcz0
Super člen
7. 1. 2014   #1
-
0
-

zdravím mám problém  vytvořením funkce která bude přepočítávat čas kdy byl článek/zpráva uložena např před 10 minutami mám privátní funkci která mi vrátí počet sekund kterou pak převádí na minuty zaokrouhlením na celá čísla pomocí round

private function calculateTheTime($time)
    {
        $calculate = time() - $time;
        $result = $calculate / 60;
        
        return $result;
    }
$timer = round($this->calculateTheTime($post['timer']) / 1);


ale s další úpravou mám problémy pokoušel jsem se to udělat jednouchou podmínkou  kde pokud je výsledný počet sekund vyšší než 60 tak se to prodělí hodnotou 60*60 tj hodnota result bude vypadat takto  


        $result = $calculate / 3600;

pokud takovou podmínku aplikuji tak se mi to celé zhroutí a zobrazí se akorát aktuální výstup funkce time()

Nahlásit jako SPAM
IP: 178.209.131.–
Kubina
~ Anonymní uživatel
17 příspěvků
8. 1. 2014   #2
-
0
-

Čau,

něco podobného jsem kdysi potřeboval. Je to zkopírované, osekané a chybí správné pádování (původně to zjišťovalo jen počet minut). Doplnil jsem ostatní hodnoty...jedno vypsání na stránce by to zvládnout mělo..

$acTime = Time() - (60 * 60 * 5 + (60 * 3) + 2); // 5 hodin  minut 3 mimnuty 2 sekundy
$acTime = Time() - (60 * 60 * 26 + (60 * 20) + 10); // 1 den 2 hodiny 20 minut 10 sekund
$acTime = Time() - (60 * 30 + 5); // 30 minut 5 sekund

function GetTimeToLabel($acTime)
{
	$acTime = Time() - $acTime;
	
	$return = array();
	$secound = 1;
	$minute = 60;
	$hour = 60 * 60;
	$day = 60 * 60 * 24;
	$month = 60 * 60 * 24 * 30;
	$year = 60 * 60 * 24 * 365;
	
	if($val = floor($acTime / $year))
	{
		$return[] = $val . ' rok';
	}
	
	if($val = floor(($acTime - floor($acTime / $year) * $year) / $month))
	{
		$return[] = $val . ' měsíc';
	}
	
	if($val = floor(($acTime - floor($acTime / $month) * $month) / $day))
	{
		$return[] = $val . ' den';
	}
	
	if($val = floor(($acTime - floor($acTime / $day) * $day) / $hour))
	{
		$return[] = $val . ' hodina';
	}
	
	if($val = floor(($acTime - floor($acTime / $hour) * $hour) / $minute))
	{
		$return[] = $val . ' minuta';
	}
	
	if($val = floor(($acTime - floor($acTime / $minute) * $minute) / $secound))
	{
		$return[] = $val . ' sekunda';
	}
	
	return JOIN(', ',$return);
}

echo GetTimeToLabel($acTime);
Nahlásit jako SPAM
IP: 193.86.114.–
tribalcz0
Super člen
8. 1. 2014   #3
-
0
-

díky budu to muset upravit pro použití ve třídě a doufám že to „jedno vypsání“ bylo jen obrazně potřebuju to k vpisu dat z databaze s limitem 30 :-)

Nahlásit jako SPAM
IP: 178.209.131.–
Kit+15
Guru
Nahlásit jako SPAM
IP: 46.174.34.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Kubina
~ Anonymní uživatel
17 příspěvků
9. 1. 2014   #5
-
0
-

„jedno vypsání“ jsem myslel v tom, že to bude nejspíše pomalejší jak řešení od Kit. Tudíž vypisovat to 100x na stránce není zrovna nejlepší nápad (napadá mě: seznam článků uprostřed + levý sloupec novinek + nejnovější komentáře v pravém sloupci + doporučované články v patičce...atd.).

PS: Na každé milisekundě záleží!

Nahlásit jako SPAM
IP: 193.86.114.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 33 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý