0

I want to create javascript time using particular timezone it works good but looping not working please solve.

    <html>
<head>

</head>
<body>
<p id="demo"></p>

<script language="JavaScript">

var myVar = setInterval(calcTime('Kolkata', '+5.5'), 1000);
function calcTime(city, offset) {

   d = new Date();
   utc = d.getTime() + (d.getTimezoneOffset() * 60000);    
   nd = new Date(utc + (3600000*offset));    
   document.getElementById("demo").innerHTML = nd.toLocaleString();

}
</script>
</body>
</html>
  • `calcTime('Kolkata', '+5.5')` this will call the function. try `calcTime.bibd(this, 'Kolkata', '+5.5')` – Rajesh May 06 '16 at 11:27

2 Answers2

1

setInterval takes function reference not function returned value

setInterval(function(){
  calcTime('Kolkata', '+5.5');
}, 1000);
gurvinder372
  • 66,980
  • 10
  • 72
  • 94
1

Try this...

var myVar = setInterval(function(){calcTime('Kolkata', '+5.5')}, 1000);
function calcTime(city, offset) {

   d = new Date();
   utc = d.getTime() + (d.getTimezoneOffset() * 60000);    
   nd = new Date(utc + (3600000*offset));    
   document.getElementById("demo").innerHTML = nd.toLocaleString();

}

Fiddle : https://jsfiddle.net/xcwvme2h/

maulik sakhare
  • 1,957
  • 1
  • 12
  • 19