私がHからの時間を転送カウントダウンタイマーを持っていた:i:sのこのスクリプトを使用したロングバージョンへ:Javascriptの時間のカウントダウンエラー
function parseTime() {
var timeLeftStr;
var timeLeft = 0;
timeLeftStr = document.getElementById("timeleft").innerHTML;
timeLeftStr.replace(/(\d+):(\d+):(\d+)/, function() {
for (var i = 1; i < arguments.length - 2; i++) {
// Convert to ms
timeLeft += arguments[i] * Math.pow(60, 3 - i) * 1000;
}
});
countdown(new Date(timeLeft));
}
function countdown(timeLeft) {
var hours = timeLeft.getHours();
var minutes = timeLeft.getMinutes();
var seconds = timeLeft.getSeconds();
if (timeLeft.valueOf() == 0) {
document.getElementById("timeleft").innerHTML = "0 seconds";
window.location = 'home.php?pageid=' + getURLParam("pageid");
return false;
} else {
document.getElementById("timeleft").innerHTML =
(hours == 0 ? "" : hours + (hours == 1 ? " hour" : " hours")) +
(minutes == 0 ? "" : (hours ? (seconds ? ", " : " and ") : " ") + minutes + (minutes == 1 ? " minute" : " minutes")) +
(seconds == 0 ? "" : (hours || minutes ? " and " : "") + seconds + (seconds == 1 ? " second" : " seconds"));
setTimeout(function() { countdown(new Date(timeLeft - 1000)); }, 1000);
}
}
window.onload = parseTime;
エラーがオーストラリアに住んでいる私のユーザーが取得し続けるということです間違った「時」 元のタイマーは「23:45:05」のようなものですが、カウントダウンタイマーが始まると23時間ではなく「10時間45分5秒」と表示されます。
これはなぜ起こっているのでしょうか?ありがとうございました。
私はJSでそれほど素晴らしいとは言えませんが、これは友人によって作成されました。
最後に作業しました。
:
あなたは、この同様の議論を見てとることができますか? –
ローカル時刻ではなくサーバ時刻を取得するスクリプトをどのくらい正確に取得できますか? –
時間、分、秒を返すサーバー側のリソースへのajax呼び出しを行います。あなたの能力にとってあまりにも複雑すぎると思われる場合は、javascriptで 'getTimezoneOffset()'を使用してください。また、この議論を見てください:http://stackoverflow.com/questions/8805613/javascript-countdown-using-absolute-timezone – fcalderan