Javascript 将UTC时间添加到我的倒计时计时器

Javascript 将UTC时间添加到我的倒计时计时器,javascript,jquery,timer,clock,countdown,Javascript,Jquery,Timer,Clock,Countdown,我最近正在搜索一个倒计时脚本,该脚本将倒计时到特定的一天、一小时和一分钟,并在到达时间后再次重置 一周后,我在剧本中看到了一个主要问题。倒计时是以当地时间为基础的,这是一个问题 我想让倒计时基于UTC时间,而不是本地pc时间。 任何人都可以帮我,因为我不知道怎么做。我还制作了一个我使用的时钟脚本,在那里我可以说“.getUTC…”,但我不知道如何在这个脚本中实现它,因为我是从互联网上获取它的 我对javascript/jquery不是很在行,我仍在学习很多东西。我能很好地理解脚本,但我很怀念自己

我最近正在搜索一个倒计时脚本,该脚本将倒计时到特定的一天、一小时和一分钟,并在到达时间后再次重置

一周后,我在剧本中看到了一个主要问题。倒计时是以当地时间为基础的,这是一个问题

我想让倒计时基于UTC时间,而不是本地pc时间。 任何人都可以帮我,因为我不知道怎么做。我还制作了一个我使用的时钟脚本,在那里我可以说“.getUTC…”,但我不知道如何在这个脚本中实现它,因为我是从互联网上获取它的

我对javascript/jquery不是很在行,我仍在学习很多东西。我能很好地理解脚本,但我很怀念自己没有编写脚本的经历,因此如果您能编辑脚本,使其基于UTC时间,并告诉我一些关于它的信息,这样我就可以从中学习。我真的很感激你

非常感谢, 延斯

var EVENTDAY=1;//星期一
var-EVENTHOUR=22//
var-EVENTMINUTE=42//
函数getRemaining(现在)
{
如果(now==null)now=new Date();
var-dow=now.getDay();
//现在的“小时”必须包括小时的小数部分,所以。。。
var hour=now.getHours()+now.getMinutes()/60+now.getSeconds()/3600;
//从当天到活动日有多少天?
var抵销=事件日-道指;
//如果活动日已过*或*如果今天是活动日但活动时间已过。。。
if(偏移量<0 | |(偏移量==0&&EVENTHOUR
使用

更改jquery.jCounter-0.1.4.js文件中的第34行

serverDateSource: '/pathtofile/dateandtime.php', //path to dateandtime.php file (i.e. http://my-domain.com/dateandtime.php)
在dateandtime.php文件中

<?php
ini_set('display_errors', 0); error_reporting(E_ALL);

date_default_timezone_set("Pacific/Auckland");  // CHANGE HERE
// GMT +12
if (isset($_GET['timezone'])) {
$timezone = new DateTimeZone($_GET['timezone']);
} else {
$timezone = new DateTimeZone("Pacific/Auckland");//CHANGE HERE
}
$date = new DateTime();
$date->setTimezone($timezone);
$dateAndTime = array("currentDate"=>$date->format('d F Y H:i:s'));
echo $_GET['callback'] . '(' . json_encode($dateAndTime) . ')';
?>

然后在倒计时文件中设置如下内容:

<?php
date_default_timezone_set("Pacific/Auckland");//GMT+12 <--- CHANGE THIS
//Set your date and time below.
$day = date("D");
$hour = date("H");
if ($day=="Sun" && $hour>='9') {$date = date('d F Y H:i:s', strtotime('next Sunday 09:00:00'));}
else {$date = date('d F Y H:i:s', strtotime('this Sunday 09:00:00'));}
?>
<script type="text/javascript">
    $(document).ready(function() {
        $(".mycountdownname").jCounter({
            animation: "slide",
            date: "<?=$date?>", //format: DD month YYYY HH:MM:SS
            timezone: "Pacific/Auckland",
            format: "dd:hh:mm:ss",
            twoDigits: 'on',
            callback: function() { console.log("Event Ended!")     }
    });
});
</script>
    <div class="mycountdownname">
    <div class="countdown-theme">
        <ul>
            <li><p><span><em><b class="days">00</b><i class="daysSlider"><u>00</u><u>00</u></i></em>DAYS</span></p></li>
            <li><p><span><em><b class="hours">00</b><i class="hoursSlider"><u>00</u><u>00</u></i></em>HOURS</span></p></li>
            <li><p><span><em><b class="minutes">00</b><i class="minutesSlider"><u>00</u><u>00</u></i></em>MINS</span></p></li>
            <li><p><span><em><b class="seconds">00</b><i class="secondsSlider"><u>00</u><u>00</u></i></em>SECS</span></p></li>
        </ul>
        <div class="jC-clear"></div><br>
        <div class="jC-clear"></div>
    </div>
    </div>

$(文档).ready(函数(){
$(“.mycountdownname”).jCounter({
动画:“幻灯片”,
日期:,//格式:年月日HH:MM:SS
时区:“太平洋/奥克兰”,
格式:“dd:hh:mm:ss”,
两位数字:“on”,
回调:函数(){console.log(“事件结束!”)}
});
});
  • 000000天

  • 000000小时

  • 000000分钟

  • 百万秒



您已经在使用
日期
此处:

if ( now == null ) now = new Date();
你就快到了。让我们看看一些有用的函数

new Date().getTime()
将返回utc时间

new Date().toUTCString()
返回UTC时间戳的字符串表示形式

new Date().getTimezoneOffset()
返回要添加以获取UTC值的分钟数。因此,以下是获取UTC时间戳的方法:

foo.setHours(foo.getHours() + (foo.getTimezoneOffset() / 60)).getTimezoneOffset()
其中
foo
Date
对象

因此,以下是获取日期UTC值的方法:

function getUTCDate(input) {
    return input.setHours(input.getHours() + (input.getTimezoneOffset() / 60)).getTimezoneOffset();
}
这是您使用它的方式:

var now = getUTCDate(new Date());

谢谢你的来信。我尝试了一些东西,但我不完全理解我需要在脚本中添加什么内容和位置?我想我需要使用你发布的最后4个代码块,但我真的不知道我需要把它们放在哪里。所以我需要删除我的脚本,而使用你的?你的剧本和我的一样吗?因为我肯定想要自动重置倒计时,而且我对php也没有任何知识,但我肯定会尝试一下。我发现这是最容易使用的,最适合我的需要,还附带了一些主题。但是您可能需要根据所需的样式修改css