function timeDiffToString($timestamp) {
$diff = time() - $timestamp;
if($diff < 60) {
return "1 minutt siden";
} else if($diff < 3600) {
return ($diff / 60)." minutter siden";
} else if($diff < 24*3600) {
return ($diff / 3600) . " timer siden";
} else if($diff < 48*3600) {
return "i går";
} else {
return ($diff / 24*3600) . " dager siden";
}
}
ak skrev:Skill det heller ut som en ekstra if (paa innsiden av den andre).
function timeUnixToDate($timestamp) {
$t = intval($timestamp);
$s = "kl ".date("H:i d.m.y",$t);
return $s;
}
function timeDiffToString($timestamp) {
$diff = time() - $timestamp;
if($diff < 60) {
return "1 minutt siden";
} else if($diff < 3600) {
return round(($diff / 60))." minutter siden";
} else if($diff < 24*3600) {
$tid = round(($diff / 3600));
if ($tid > 1) {
$ending = "r";
}
return $tid." time".$ending." siden";
} else if($diff < 48*3600) {
return "i går";
} else if($digg < 96*3600){
return round(($diff / 24*3600)) . " dager siden";
} else {
$nor = timeUnixToDate($digg);
return $nor;
}
}
return round($diff / (24*3600)) . " dager siden";
<?
// timediff(timestamp[,how big])
/**
* @param date UNIX_TIMESTAMP
* @param quantity INT, number of atts->out
* @return STR, agostr->out
**/
function timediff($date,$quantity=2) {
//get time difference
$diff = time() - $date;
//getting how long ago its all been
$y_ago = date("Y", $diff) -1970;
$mo_ago = date("m", $diff) -1;
$d_ago = date("d", $diff) -1;
$h_ago = date("H", $diff);
$mi_ago = date("i", $diff);
$s_ago = date("s", $diff);
//create w_ago from d_ago
if($d_ago >= 7) {
$w_ago = floor($d_ago/7);
$d_ago -= ($w_ago*7);
} else {
$w_ago = 0;
}
//create array containing ago_vars
$foo_array = array ("y" => $y_ago, "mo" => $mo_ago, "w" => $w_ago, "d" => $d_ago, "h" => $h_ago, "m" => $mi_ago, "s" => $s_ago);
$i = 0;
foreach($foo_array as $key=>$value) {
$value = ereg_replace("0+","0",$value);
if($value != 0 && $i < $quantity) {
$str .= (isset($str)) ? ", $key:$value" : "$key:$value";
$i++;
}
}
//in $str there are now 1 or more ago_vars
$str = (strpos($str,",") !== false) ? explode(",", $str) : array($str);
$moo = array();
foreach($str as $string) {
preg_match("/(.*):(.*)$/", $string,$match);
$string2 = trim($match[2])." ";
$string2 = preg_replace("/^0(.+)/","\\1",$string2);
$keyname = trim($match[1]);
$string2 .= $keyname;
array_push($moo, str_replace(" ","",$string2));
}
$final = ($moo[1] !== false) ? implode("",$moo) : $final;
return $final;
}
//eksempler for å vise bruk.
$stamp = 1066065981;
print '1: '.timediff($stamp,1).'<br />';
print '2: '.timediff($stamp).'<br />';
print '3: '.timediff($stamp,3).'<br />';
print '4: '.timediff($stamp,4).'<br />';
print '5: '.timediff($stamp,5).'<br />';
print '6: '.timediff($stamp,6).'<br />';
print '7: '.timediff($stamp,7).'<br />';
?>
kentivar skrev:Jeg driver og lager en side og trenger litt hjelp.
Jeg skal lage et script som kjøres som en cronjob og sjekker bruker tabeller for brukere som ikke har vært logget på iløpet av 30 dager siden siste innlogging, så sender den en epost og minner brukeren på det, og om han ikke logger inn iløpet av x antall dager etter at eposten ble sendt så blir kontoen slettet.
i databasen blir lastLogin lagret i formatet DDMMYYYYHHMM.
Hvordan kan jeg lage et script som regner ut differansen av lastLogin med dagens dato og klokkeslett og gir det ut som et array med years => "", months => "", days => "", hours => "", minuttes => "".
Noen flinke hjerner her som kan hjelpe meg litt?
fraggalot skrev:Latskap, forrige svar gjør jo nøyaktig det
Registrerte brukere: Google [Bot]