Hola.
Yo lo que haria seria:
Usar la funcion date_default_timezone_set() ----- si puedes. Para determina la zona horaria.
Y ahora .... un condicional Ej:
Código PHP:
<?php
define('HORA_CUMBRE', '00:00');
if(date('H:m') == HORA_CUMBRE)
EjecutaAccion();
?>
Esto vale si tienes muchos usuarios, sino solo la hora (fallo, que se ejecutará varias veces, si te entra un batallón).
Puedes crearte una tabla en la DB y guardar la ultima vez que lo hicistes, y si ha pasado 1 día volver a ejecutar la accion.
Otra forma..... Con javascript hora límite, settimeout, y una funcion de form.submit();
Esta opción esta muy bien si es un servidor dedicado, y puedes dejar el navegador abierto en esa página.