NOTE: Stamp is derived from a mysql row subtracted from time() [i.e. time() - $row[ 'posted' ];] function convert_time( $stamp ) { $weeks = floor( $stamp / 60 / 60 / 24 / 7 ); $weeks = ( $weeks < 1 ) ? "" : $weeks . " weeks "; $days = floor( $stamp / 60 / 60 / 24 ); while ( $days >= 7 ) { $days = $days - 24; } $days = ( $days < 1 ) ? "" : $days . " days "; $hours = floor( $stamp / 60 / 60 ); while ( $hours >= 24 ) { $hours = $hours - 24; } $hours = ( $hours < 1 ) ? "" : $hours . " hours "; $minutes = floor( $stamp / 60 ); while ( $minutes >= 60 ) { $minutes = $minutes - 60; } $minutes = ( $minutes < 1 ) ? "" : $minutes . " minutes "; $age = $weeks . $days . $hours . $minutes; return $age; }