Created
October 30, 2019 02:57
-
-
Save deandex/8d7a270434510d1d78cc4bd43ca81445 to your computer and use it in GitHub Desktop.
Get a humanized, "Morning", "Afternoon", "Evening" from moment.js **Great for user greetings!** (ES6)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
getGreetingTime = (currentTime, user = null) => { | |
if (!currentTime || !currentTime.isValid()) { return `Hello ${user ? ` ${user}` : ''}`; } | |
const splitAfternoon = 12; // 24hr time to split the afternoon | |
const splitEvening = 17; // 24hr time to split the evening | |
const currentHour = parseFloat(currentTime.format('HH')); | |
let greetingText = 'Good morning'; // Between dawn and noon | |
if (currentHour >= splitAfternoon && currentHour <= splitEvening) { | |
// Between 12 PM and 5PM | |
greetingText = 'Good afternoon'; | |
} else if (currentHour >= splitEvening) { | |
// Between 5PM and Midnight | |
greetingText = 'Good evening'; | |
} | |
return `${greetingText}${user ? `, ${user}` : ''}`; | |
} | |
/* USE | |
//The var "humanizedGreeting" below will equal (assuming the time is 8pm) "Good evening, James." | |
var user = "James"; | |
var humanizedGreeting = getGreetingTime(moment(), user); | |
*/ |
New code :
const currentHour = new Date().getHours();
const greetingMessage =
currentHour >= 4 && currentHour < 12 ? // after 4:00AM and before 12:00PM
'Good morning.' :
currentHour >= 12 && currentHour <= 17 ? // after 12:00PM and before 6:00pm
'Good afternoon.' :
currentHour > 17 || currentHour < 4 ? // after 5:59pm or before 4:00AM (to accommodate night owls)
'Good evening.' : // if for some reason the calculation didn't work
'Welcome'
console.log(greetingMessage)
Will test it later
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Inspired by :