私はこの機能を持っています
function timeCalculator(form)
{
var currentTimeAndDate = new Date();
var userTimeAndDate = form.userDate.value;
var userUTCOffset2 = form.userUTCOffset.value;
var userDate = new Date(userTimeAndDate);
var tzDifference = currentTimeAndDate.getTimezoneOffset() + (userUTCOffset2 - currentTimeAndDate.getTimezoneOffset());
var timeDifference = new Date((userDate.getTime()+(tzDifference*60*1000))-(currentTimeAndDate.getTime()+(userDate.getTimezoneOffset()*60*1000)));
var hours = Math.floor(timeDifference.getTime() / 36e5),
minutes = Math.floor(timeDifference.getTime() % 36e5 / 60000),
seconds = Math.floor(timeDifference.getTime() % 60000 / 1000);
document.getElementById('result').innerHTML = "There is exactly "+hours+" hours,"+minutes+"minutes and "+seconds+" seconds left until your specified time.";
}
これが行うことになっているのは、ユーザーがフォームに時刻、日付、および UTC オフセットを入力し、それに基づいてその時点までの残り時間を計算することです。分と秒は正常に機能しているようですが、時間に問題があります。誰にも何か提案や、このようなものへの別のアプローチがありますか? また、差に日、月、年を追加するにはどうすればよいですか?