It works fine in Chrome for me:
<!DOCTYPE html>
<html>
<body onload="myFunction()">
<h1>Hello World!</h1>
<script>
function myFunction() {
document.getElementById('demo').innerHTML = Date();
document.getElementById('demo2').innerHTML = formatDate(Date());
}
var months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
function formatDate(dt) {
var current_datetime = new Date(dt);
var hours = current_datetime.getHours() > 12 ? current_datetime.getHours() - 12 : current_datetime.getHours();
var am_pm = current_datetime.getHours() >= 12 ? "PM" : "AM";
hours = hours < 10 ? "0" + hours : hours;
var minutes = current_datetime.getMinutes() < 10 ? "0" + current_datetime.getMinutes() : current_datetime.getMinutes();
var seconds = current_datetime.getSeconds() < 10 ? "0" + current_datetime.getSeconds() : current_datetime.getSeconds();
time = hours + ":" + minutes + ":" + seconds + " " + am_pm;
var formatted_date = current_datetime.getDate() + "-" + months[current_datetime.getMonth()] + "-" + current_datetime.getFullYear() + ' ' + time;
return formatted_date;
}
</script>
<p id="demo">Default</p>
<p id="demo2">Default</p>
</body>
</html>
I get this:
Hello World!
Tue Oct 13 2020 07:10:56 GMT+0100 (British Summer Time)
13-Oct-2020 07:10:56 AM
So what am I doing that is different to you?