根据服务器小时创建倒计时

问题描述 投票:0回答:1

我需要创建一个显示当某个促销活动结束的时候,我只有通过谷歌标签管理器进行前端访问,首先我设法用js获取服务器小时,现在我需要设置倒计时小时基于服务器小时而非本地小时。

 <script>
  // it´s giving the correct hour
  var getserver = new Date();
 getserver.setHours(getserver.getHours());
 var newtets = getserver.toUTCString();
 alert(newtets);



 // using a basic countdown
   var countDownDate = new Date("Sep 5, 2018 15:37:25").getTime();

  // Update the count down every 1 second
 var x = setInterval(function() {

// Get todays date and time
var now = new Date().getTime();
/* 
 var now = new Date();
now.setHours(now.getHours());
var newnow = now.toUTCString();
i tried to replace now with newnow but is not working, how can i transform this
*/


// Find the distance between now an the count down date
var distance = countDownDate - now;

// Time calculations for days, hours, minutes and seconds
var days = Math.floor(distance / (1000 * 60 * 60 * 24));
var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
var seconds = Math.floor((distance % (1000 * 60)) / 1000);

// Output the result in an element with id="demo"
document.getElementById("demo").innerHTML = days + "d " + hours + "h "
+ minutes + "m " + seconds + "s ";

// If the count down is over, write some text 
if (distance < 0) {
    clearInterval(x);
    document.getElementById("demo").innerHTML = "EXPIRED";
  }
}, 1000);

</script>

var now = new Date()。getTime();是时候把它用来倒计时,这是在当地时间,我怎么能得到var now = new Date()。getTime();服务器小时,我用1脚本获得

javascript jquery countdown
1个回答
1
投票

获取更新服务器小时的唯一方法是使用ajax调用。问题是对服务器的请求不是立即的,因此您将有延迟。

也许最好是获取用户时区并计算以此信息结尾的促销。

您可以使用以下方式获取用户时区偏移:

var offset = new Date().getTimezoneOffset();
© www.soinside.com 2019 - 2024. All rights reserved.