No te funcionaba porque el indice era 'hours' o sea me comi una 's'
Código PHP:
<?php
date_default_timezone_set('America/Bogota');
$fecha_hora = getdate();
if (($fecha_hora['hours'] > 6) and ($fecha_hora['hours']<=19)){
echo 'Es de dia';
}else
echo 'Vete a dormir mejor';
Ten en cuenta que sino seteas la hora del servidor te tocara hacer una correccion a la hora