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 }

Related Methods