A minap belefutottam abba a problémába, hogy nem a dátumot kellett kiíratnom, hanem az azóta eltelt időt. Nos itt van rá egy script.
<?php
function elido($ido, $time = null) {
$tp = $ido;
$time = Is_null($time) ? time() : $time;
$ido2 = abs($time - $tp);
$sec = $ido2;
$min = floor ($ido2 / 60);
$min2 = $min % 60;
$hour = floor ($ido2 / 60 / 60);
$hour2 = $hour % 24;
$days = floor ($ido2 / 60 / 60 / 24);
$days2 = $days % 7;
$week = $week2 = floor ($ido2 / 60 / 60 / 24 / 7);
if ( $week2 >= 4) {
return date ( "Y.m.d H:i", $tp );
}
$elap = '';
if ( $sec > 0 ) {
$elap = $sec.' másodperce';
if ( $min != 0 ) {
$elap = $min2.' perce';
if ( $hour != 0 ) {
$elap =$hour2.' órája'.' '.$min2.' perce';
if ( $days != 0 ) {
$elap =$days2.' napja'.' '.$hour2.' órája';
if ( $week != 0 ) {
$elap =$week2.' hete'.' '.$days2.' napja';
}
}
}
}
}
if ( $elap == '' ) {
return 'most';
}
else {
return $elap;
}
}
Ez a script egy unix időbélyeget vár. Ezen kívül megadható egy második is, ha nem az aktuális időhöz szeretnénk viszonyítani. A 4. hét eltelte után a dátumot írja ki. Előtte pedig mindig 2 paramétert sorrendben: másodperc, perc-másodperc, óra-perc, nap-óra, hét-nap. Remélem hasznos lesz. Ha valami hiba van a kódban, akkor szóljatok, mert eddig én nem találkoztam vele. Megjegyzés: módosítottam a kódon, felvittem a második paraméter megadásának lehetőségét. - BlackY
Harder
Profil
Korábbi hozzászólások (5)
A régi blogon érkezett hozzászólások archívuma. Új hozzászólást már nem lehet írni.
Szia!
Biztos velem van a hiba, de már mindenhogy próbáltam működésre bírni, de hiába.
Szóval az idő egy datetime típusú mező, strtotime() függvénnyel.
$ido = strtotime($sor["datum"]);
Nem, a $ido egy timestamp.
Igen, volt már timestamp is, de nem ír ki semmit. Ötlet, hogy mit nem írok (jól)?
Így próbáltad?
$ido = strtotime($sor["datum"]);
print elido($ido);
Esetleg nem lehet, hogy a $ido változód üres? Vagy nem tstamp van benne?
Hálás vagyok, működik, azt hittem már mindent bevetettem. :) Viszont azt megkérdezhetem, miért szükséges timestamp hozzá? Kipróbáltam és datetime-al is működik.
Van hozzáfűznivalód? Írj nekem közvetlenül.
Kapcsolat