0

jqueryカウントダウンを使用してサーバーと同期しようとしているので、時間はすべての訪問者で同じです。ファイルは、静的設定を使用してHTMLをホストするAppEngineでホストされています。PHPはAppEngineでは機能しません。

AppEngineの静的設定でPythonを使用してサーバー時間と同期することは可能ですか?--Jqueryでdatetime.now()をどのように使用しますか?

function countdown() {
    var eventTime = new Date('May 23, 2012 08:00:00');
    $('#time-left').countdown({ until: eventTime, layout: '<ul class="timer"><li class="days">{dn}</li> <li class="hours">{hnn}</li><li class="mins">{mnn}</li><li class="secs">{snn}</li></ul>',
                                serverSync: function() { return new Date('datetime.now()') }});
}

ご協力いただきありがとうございます。

4

1 に答える 1

0

タイムゾーンによって異なるため、クライアント側で時間を計算するのは困難です。サーバー時間をUTCで取得し、UTCオフセットでローカル時間変数を作成してから、ローカル時間でsecdeffを比較します。

// return string must be in UTC time yyyy/MM/dd H:mm:ss format in Json result
$.get("timerequestmethod", function (data) {
                var dateArray = data.split(' ');
                var seconds = getSeconds(dateArray);

                // create countdown until 'seconds' declare in above statement
            });

getSeconds = (function (dateArray) {
        var dt = dateArray[0].split('/');
        var tm = dateArray[1].split(':');
        var times = new Date();
        times.setUTCFullYear(dt[0], (dt[1] > 0 ? dt[1] - 1 : dt[1]), dt[2]);
        times.setUTCHours(tm[0]);
        times.setUTCMinutes(tm[1]);
        times.setUTCSeconds(tm[2]);
        return (times - new Date()) / 1000;
    });
于 2012-05-08T13:37:15.920 に答える