getHours()
ES1+Returns the hour (0-23) in the specified date according to local time.
Syntax
date.getHours()Return Value
number
A number (0-23) representing the hour
Examples
JavaScript
const date = new Date('2024-01-15T14:30:00');
console.log(date.getHours()); Output:
// 14
📌 When to Use
Use getHours() for time-based greetings, business hours validation, scheduling systems, or time range comparisons.
⚠️ Common Mistakes
Assuming getHours() returns 1-12 format - it returns 24-hour format (0-23).
Not considering timezone differences when comparing hours across different regions.
✅ Best Practices
Convert to 12-hour format: const hour12 = date.getHours() % 12 || 12.
Use getUTCHours() when working with server times or cross-timezone features.
⚡ Performance Notes
getHours() is O(1). Creating greeting messages based on time is efficient, but avoid recalculating in tight loops.
🌍 Real World Example
Dynamic Greeting Message
Display personalized greetings based on the time of day.
function getGreeting(userName) {
const hour = new Date().getHours();
let greeting, emoji;
if (hour >= 5 && hour < 12) {
greeting = 'Good morning';
emoji = '☀️';
} else if (hour >= 12 && hour < 17) {
greeting = 'Good afternoon';
emoji = '🌤️';
} else if (hour >= 17 && hour < 21) {
greeting = 'Good evening';
emoji = '🌆';
} else {
greeting = 'Good night';
emoji = '🌙';
}
return {
message: `${greeting}, ${userName}! ${emoji}`,
timeOfDay: greeting.split(' ')[1],
currentHour: hour
};
}
console.log(getGreeting('Alex'));
// { message: 'Good afternoon, Alex! 🌤️', timeOfDay: 'afternoon', currentHour: 14 }