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、次のコードにバグがあります。

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 に答える