0
votes

Utiliser un moment.js pour déterminer si l'heure actuelle (heure) est comprise entre certaines heures

Je travaille sur une fonction qui souhaite saluer ses utilisateurs avec un message d'accueil au temps (bonjour, après-midi, soirée, nuit). Voici le script que j'ai fait xxx pré>

mais il ne fonctionnera tout simplement pas et retourne simplement "bonjour". J'ai également essayé d'utiliser P>

var currentTime = moment();
var currentHour = currentTime.hour();


0 commentaires

3 Réponses :


2
votes

Vous utilisez moment (). ISbetteween () code> d'une mauvaise manière. Vous pouvez voir la méthode correcte d'utilisation de ici . Pour votre condition, aucun besoin d'utiliser cette méthode isbetteween code>. Vous pouvez simplement obtenir l'heure, puis le vérifier contre le si code> condition.

Vous pouvez réorganiser votre méthode comme ci-dessous. P>

function generateGreetings(){

  var currentHour = moment().format("HH");

  if (currentHour >= 3 && currentHour < 12){
      return "Good Morning";
  } else if (currentHour >= 12 && currentHour < 15){
      return "Good Afternoon";
  }   else if (currentHour >= 15 && currentHour < 20){
      return "Good Evening";
  } else if (currentHour >= 20 && currentHour < 3){
      return "Good Night";
  } else {
      return "Hello"
  }

}


2 commentaires

Cela marche! Merci beaucoup mate! J'utilisais de cette façon parce que l'exemple qu'il y avait utilisé, date directement donc je pensais que cela fonctionnera aussi avec des heures.


@Davidbuiartto heureux d'entendre ça. :)



0
votes

@thusitha

ou vous pouvez utiliser xxx

au lieu de xxx


0 commentaires

1
votes

La réponse acceptée peut être assez simplifiée; Le Elesdes code> est totalement superflu en raison des retours précoce:

function greeting() {
        const hour = moment().hour();

        if (hour > 16){
            return "Good evening";
        }

         if (hour > 11){
             return "Good afternoon";
         }

         return 'Good morning';
    }


0 commentaires