wp_query posts with custom fields number smaller than

The args are wrong. The correct code is:

$args = array(
'post_type' => 'post',
'meta_key' => 'time',
'meta_value' => '30',
'meta_compare' => '<',
);

The data is stored as strings and not as numbers so no need to use meta_value_num.