Aus 'nem Uhrzeit-Script von irgendeiner Website geklaut und etwas umgeschrieben:
Code:
// Javascript
function blub()
{
  var zeit = new Date();        // Uhrzeit holen
  var std = zeit.getHours();    // Minuten holen
  var min = zeit.getMinutes();  // Sekunden holen

  if(std == 0 && min <= 4)      // falls es 24 Uhr oder maximal 4 Minuten und 59 Sekunden später ist
  {
    window.open("deine url");   // Fenster öffnen
  }

  setTimeout("blub()", 300);    // Funktion nach 5 Minuten neu aufrufen
}
Das Ganze kann durch den rekursiven Aufruf aber ziemlich Speicherfressend sein, evtl. solltest du, statt blub() aufzurufen, neu laden.
Die Funktion blub() kannst du dann mit dem onload-Trigger (<body onload="blub();">) aufrufen.

Allerdings gibt es sicherlich bessere Methoden, 'nen Cronjob zu basteln.

Falls du ein Linux-System hast und es nur drauf ankommt, dass es einmal täglich ist, kannst du auch einfach ein Shellscript schreiben, dass die Seite aufruft, und das in /etc/cron.daily schieben. Beispiel:
Code:
#!/usr/bash
wget <url>
rm <name der aufgerufenen datei>
Falls du die Seite unbedingt im Browser öffnen und nicht nur aufrufen willst, ersetze die letzten beiden Zeilen durch firefox <url>

Keiner der Codes ist getestet, müssten aber beide funktionieren (der zweite nur mit 'nem Linux-System).

Edit:
Mal wieder zu langsam...

@ Luc:
Ich nehme an, dass er einen Cronjob will (sonst hab ich mir die Mühe umsonst gemacht -_-
Dafür ist dein Scrpt nicht geeignet, da es nur beim Aufruf prüft, wie spät es ist, und, falls es zwischen 0 und 1 Uhr ist, die Seite weiterleitet.