How to Solve date.getHours is not a Function in JavaScript
In this tutorial, we are going to learn about how to solve the TypeError: date.getHours is not a function in JavaScript.
When we call a ‘getHours()’ method on a value which is not a data type date object we will get the following error in our console.
Here is an example, how the error occurs:
const date = Date.now();
console.log(date); // unix timestamp
console.log(date.getHours());
Output:
"TypeError: date.getHours is not a function
In the example above, we are getting the error because we are using the ‘getHours()’ method on a integer data type, but the getHours method is only available on a date object.
To solve the “TypeError: date.getHours is not a function”, make sure to call the getHours() method on a data type date object or convert the given value to a valid date object before calling the getHours() method on it.
Here is an example:
const date = new Date();
const result = date.getHours();
console.log(result);
Output:
5
In the example above, we have called the getHours() method a valid date object. So, it returns the hours to this date, according to the local time.
Type checking
To avoid the run time errors, we can also check if the given datatype is a object or not before calling the getHours() method on it.
Here is an example:
const date = new Date();
if(typeof date === 'object' && date !== null && 'getHours' in date){
console.log(date.getHours());
}else{
console.log('Given value is not a Date object');
}
Conclusion
The “TypeError: date.getHours is not a function” error occurs, when we call a getHours() method on a value which is not Date object. To solve the error, convert the value to an date object before calling the getHours() method on it or make sure to use the getHours() method on a valid date objects.