Beh, prima controllerai che vi siano effettivamente 8 ore. Altrimenti non se ne fa nulla.
Se le 8 ore ci sono, controllerai l'altro intervallo per le notturne.


codice:
Date d1 = ...;
Date d2 = ...;

// Suppongo che d1 sia l'orario di inizio e d2 quello di fine
long diff = d2.getTime() - d1.getTime();   // differenza in millisecondi
if (diff >= (8 * 60 * 60 * 1000)) {
   // Ok, sono almeno 8 ore
   // Faccio il controllo sulle notturne, come da precedente post
   // (immagino che il controllo dovrai farlo su d2)
   ...
}

Ciao.