Javascript 将UTC时间添加到我的倒计时计时器
我最近正在搜索一个倒计时脚本,该脚本将倒计时到特定的一天、一小时和一分钟,并在到达时间后再次重置 一周后,我在剧本中看到了一个主要问题。倒计时是以当地时间为基础的,这是一个问题 我想让倒计时基于UTC时间,而不是本地pc时间。 任何人都可以帮我,因为我不知道怎么做。我还制作了一个我使用的时钟脚本,在那里我可以说“.getUTC…”,但我不知道如何在这个脚本中实现它,因为我是从互联网上获取它的 我对javascript/jquery不是很在行,我仍在学习很多东西。我能很好地理解脚本,但我很怀念自己没有编写脚本的经历,因此如果您能编辑脚本,使其基于UTC时间,并告诉我一些关于它的信息,这样我就可以从中学习。我真的很感激你 非常感谢, 延斯Javascript 将UTC时间添加到我的倒计时计时器,javascript,jquery,timer,clock,countdown,Javascript,Jquery,Timer,Clock,Countdown,我最近正在搜索一个倒计时脚本,该脚本将倒计时到特定的一天、一小时和一分钟,并在到达时间后再次重置 一周后,我在剧本中看到了一个主要问题。倒计时是以当地时间为基础的,这是一个问题 我想让倒计时基于UTC时间,而不是本地pc时间。 任何人都可以帮我,因为我不知道怎么做。我还制作了一个我使用的时钟脚本,在那里我可以说“.getUTC…”,但我不知道如何在这个脚本中实现它,因为我是从互联网上获取它的 我对javascript/jquery不是很在行,我仍在学习很多东西。我能很好地理解脚本,但我很怀念自己
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