Matin, midi, soir, nuit message basé sur le Temps en java

Ce que je suis en train de faire::

Afficher un message basé sur

  • Bon matin (12h-12h)
  • Bonne après midi (12h -4h)
  • Bonne soirée (4h à 9h)
  • Bonne nuit ( de 9 heures du soir à 6 heures du matin)

CODE::

J'ai utilisé le format 24-heures pour obtenir cette logique

private void getTimeFromAndroid() {
        Date dt = new Date();
        int hours = dt.getHours();
        int min = dt.getMinutes();

        if(hours>=1 || hours<=12){
            Toast.makeText(this, "Good Morning", Toast.LENGTH_SHORT).show();
        }else if(hours>=12 || hours<=16){
            Toast.makeText(this, "Good Afternoon", Toast.LENGTH_SHORT).show();
        }else if(hours>=16 || hours<=21){
            Toast.makeText(this, "Good Evening", Toast.LENGTH_SHORT).show();
        }else if(hours>=21 || hours<=24){
            Toast.makeText(this, "Good Night", Toast.LENGTH_SHORT).show();
        }
    }

Question:

  • Est-ce ce qui est la meilleure façon de le faire, Si non quelle est la meilleure façon
hors-sujet la note, ne doivent pas être ET && , vous utilisez OU||, qui entraînera tous les cas (heures >= 1) chute dans Good Morning cas?
Vous devriez savoir, que les heures sont dans la gamme entre 0 et 23: getHours().
J'ai mis à jour la réponse à prendre en compte 12:59.

OriginalL'auteur Devrath | 2014-12-21