$n = 0; while ( ... ) { $hour += 24 if( $hour < 6 ); next if( $hour < 18 ); # ignore times outside the window $sum += 3600*$hour + 60*$min + $sec; $avg = $sum / ++$n; }