} private function __clone(){ } public static function getObject() { if(! (self::$timeagoObject instanceof self) ) self::$timeagoObject = new timeAgo();
return self::$timeagoObject; } private function count_int($unix_C) // main function { if(! (isset($unix_C) || is_numeric($unix_C)) ) return "don"t find parameter";
$d = time()-$unix_C ; // $d - unix time difference value $d_int =(int)floor($d/60) ; // minimum unit -- minutes unix/60
$this->unit = 0 ; // is minutes,hour or day?
if($d_int < 60){ // minutes in one hour 3600 $this->rustle = $d_int; $this->unit = 1; } else if($d_int < 720){ //hour in one day 3600*12 $this->rustle = floor($d_int/60); $this->unit = 2 ; } else if($d_int < 7200){ //day in ten days 3600*12*10 $this->rustle = floor($d_int/720); $this->unit = 3 ; } else{ $this->rustle = $d ; $this->unit = 4 ; } } public function piece_str($C) { $this->count_int($C);
$u = ""; switch( $this->unit ) { case 1: $u = "minute"; break; case 2: $u = "hour"; break; case 3: $u = "day"; break; case 4: $u = ""; break; case 0: return "sorry , get time is fail"; } if($this->unit < 4) { if($this->rustle > 1) return (string)$this->rustle.$u."s ago"; else if($this->rustle == 1) return (string)$this->rustle.$u."ago"; else return "Just now"; } } /* example: $ago = timeAgo::getObject(); * echo $ago->piece_str($unix); * // 2 days ago */ } ?>