0

我正在使用我找到的倒计时,它将倒计时到直播的开始,所以它目前正在倒计时到 PC 的时间,而我希望它倒计时到 BST(8 月 25 日上午 9 点)(英国时间)。

这是 HTML 代码,我相信这就是您所需要的:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
    <link rel="stylesheet" href="style.css" type="text/css" charset="utf-8" />
    <link rel="stylesheet" href="ie.css" type="text/css" charset="utf-8" />
    <script language="Javascript" type="text/javascript" src="js/jquery-1.4.4.js"></script>
    <script language="Javascript" type="text/javascript" src="js/jquery.lwtCountdown-1.0.js"></script>
    <script language="Javascript" type="text/javascript" src="js/misc.js"></script>
</head>
<body>
    <div id="countdown">
        <div class="dash weeks_dash">
            <span class="dash_title">weeks</span>
            <div class="digit">0</div>
            <div class="digit">0</div>
        </div>
        <div class="dash days_dash">
            <span class="dash_title">days</span>
            <div class="digit">0</div>
            <div class="digit">0</div>
        </div>
        <div class="dash hours_dash">
            <span class="dash_title">hours</span>
            <div class="digit">0</div>
            <div class="digit">0</div>
        </div>
        <div class="dash minutes_dash">
            <span class="dash_title">minutes</span>
            <div class="digit">0</div>
            <div class="digit">0</div>
        </div>
        <div class="dash seconds_dash">
            <span class="dash_title">seconds</span>
            <div class="digit">0</div>
            <div class="digit">0</div>
        </div>
    </div> <!-- end of countdown -->
    <!-- start of the javascript code that handles the countdown -->
    <script language="javascript" type="text/javascript">
        jQuery(document).ready(function() {
            $('#countdown').countDown({
                targetDate: {
                    'day':      25,
                    'month':    8,
                    'year':     2013,
                    'hour':     9,
                    'min':      0,
                    'sec':      0
                }
            });
        });
    </script>
    <!-- end of the javascript code that handles the countdown -->
</body>

4

1 回答 1

0

我假设你的意思是这个组件。下次,请提供链接,这样我们就不必搜索了。

首先确定您的活动的 UTC 时间。有很多方法可以做到这一点,所以我不会在这里讨论它们,除非这是你的问题。

您给出的示例的 UTC 时间是 2013-08-05 8:00:00。

在他们的文档中他们展示了如何在 UTC 中消磨时间:

jQuery(document).ready(function() {
    $('#countdown').countDown({
        targetDate: {
            'day':      25,
            'month':    8,
            'year':     2013,
            'hour':     8,        // note the input time is in utc
            'min':      0,
            'sec':      0,
            'utc':      true      // set this parameter to true
            }
        });
    });

深入到组件本身的源码中,jquery.lwtCountdown-1.0.js在这段代码中有一个bug:

if (options.targetDate)
{
    targetTime = new Date(options.targetDate.month + '/' + options.targetDate.day + '/' + options.targetDate.year + ' ' + options.targetDate.hour + ':' + options.targetDate.min + ':' + options.targetDate.sec + (options.targetDate.utc ? ' UTC' : ''));
}

他们Date通过组装以 mm/dd/yyyy 格式硬编码的日期字符串来创建一个。这不适用于使用其他日期格式的地方,例如英国使用的 dd/mm/yyyy 格式。相反,它们应该传递单独的参数。将该代码更改为:

if (options.targetDate)
{
  var td = options.targetDate;
  if (options.targetDate.utc)
    targetTime = new Date(Date.UTC(td.year, td.month-1, td.day, td.hour, td.min, td.sec));
  else
    targetTime = new Date(td.year, td.month-1, td.day, td.hour, td.min, td.sec);
}

您还应该将此错误报告给作者。

于 2013-08-09T21:35:11.203 回答