That's because you are not getting the minutes, you are getting the Date object. The setMinutes
method doesn't return the minutes, it returns the Date object itself. Converting a Date object to a string to display it gives you the time in milliseconds since epoch.
First convert the time, so that you get a correct time that wraps over, and not something like 27:93
instead of 04:33
.
currentTime = new Date();
currentTime.setHours(currentTime.getHours() + 4);
currentTime.setMinutes(currentTime.getMinutes() + 30);
Then you can get the hours and minutes from it:
var hours2 = currentTime.getHours();
var minutes2 = currentTime.getMinutes();
Instead of adding 4 hours and 30 minutes, you can add 270 minutes:
currentTime = new Date();
currentTime.setMinutes(currentTime.getMinutes() + 270);