日数差
○○まであと何日?
var currentDate = new Date(); // 現在
var targetDate = new Date("2050/1/1"); // 2050年1月1日
days = Math.ceil( (targetDate.getTime() - currentDate.getTime()) / (24*60*60*1000) );
document.write("2050年1月1日まであと", days, "日です。");
○日後は何月何日?
var today = new Date(); // 本日
var n=365;
var date = new Date( today.getTime() + n*24*60*60*1000 ); // n日後
var year = date.getFullYear();
var month = date.getMonth()+1;
var day = date.getDate();
document.write(n,"日後は",year,"年",month,"月",day,"日");
過去/未来の日付を計算
(手順)
(1)dateオブジェクトの作成
(2)指定した日数を加算または減算
(3)修正されたdateオブジェクトから日付を表す文字列や数値を取得
・現在の日付から10日後の日付を計算
var myDate = new Date();
myDate.setDate(myDate.getDate() + 10);
alert(myDate.toLocaleDateString());
・現在の日付から10日前の日付を計算
var myDate = new Date();
myDate.setDate(myDate.getDate() - 10);
alert(myDate.toLocaleDateString());
更新日より一定期間表示
最終更新日より一定期間だけ表示するようにします。
最新のコンテンツに「New」の文字を付けた後、時間が経てば自動的に表示をはずすことができます 。
upDay = new Date(document.lastModified);
expTerm = 1*(24*60*60*1000); // 一日だけ表示
theDay = new Date();
gap = (theDay - upDay);
gap = (theDay - upDay);
if(gap<=expTerm) {
document.write("最新情報!
");
}
時計
setTimeout()関数を使って、現在時間取得処理を1秒毎に行います。
ストップウォッチ
(1)スタートボタンをクリックした時
タイマーを使って100ms毎に経過時間を表示。
(2)ストップボタンをクリックした時
それまでの経過時間をoffset時間に保存。
経過時間 = 現在時間 − start時間 + offset時間
var timer = null;
var startTime = null;
var currentTime = null;
var offsetTime = 0;
スタートボタン
function startTimer(){
if( !timer ){ // タイマー動作中でなかった場合
// スタート時間
startTime = new Date();
// 100msec間隔でshowTime()
timer = setInterval('showTime()',100);
}
}
function showTime(){
// 現在時刻
currentTime = new Date();
// 経過時間(msec)
var time = currentTime.getTime() - startTime.getTime() + offsetTime;
// テキストフィールドに表示
document.getElementById("watch").value = time / 1000;
return time;
}
function stopTimer(){
if( timer ){ // タイマー動作中の場合
// タイマーストップ
clearInterval(timer);
timer = null;
// 経過時間をoffsetTimeに保存
offsetTime = showTime();
}
}
ストップボタン
function stopTimer(){
if( timer ){ // タイマー動作中の場合
// タイマーストップ
clearInterval(timer);
timer = null;
// 経過時間をoffsetTimeに保存
offsetTime = showTime();
}
}
function resetTimer(){
// タイマーストップ
clearInterval(timer);
timer = null;
// offsetTimeをリセット
offsetTime = 0;
document.getElementById("watch").value = "0.00";
}