I would recommend that you use WP_Query
for this one:
$categories = get_categories( 'child_of=83' );
foreach ( $categories as $category ) {
echo '<h3>' . $category -> name . '</h3>';
echo '<ul>';
// create a WP_Query that retreives all posts from the specified
// category which is older then 1 week
$args = array(
'cat' => $category->cat_ID,
'date_query' => array(
array(
'column' => 'post_date',
'after' => '1 week ago'
)
),
'posts_per_page' => -1,
'post_type' => 'post',
'post_status' => 'publish'
);
$query = new WP_Query($args);
// check so there is some posts in the resultset
if($query->have_posts()) {
// loop through the result
while($query->have_posts()) {
$query->the_post();
// output data here
}
}
echo '</ul>';
}