javascriptで質問です。 入力した日付までDate.now();で取得した今の時間からあと何日あるかの プログラムを組みたいのですが、どうしたらいいのかわかりません。

JavaScript139閲覧

ベストアンサー

0

ThanksImg質問者からのお礼コメント

勉強になりました。ありがとうございました。

お礼日時:1/24 11:20

その他の回答(2件)

0

>入力した日付までDate.now();で取得した今の時間からあと何日あるかの >プログラムを組みたいのですが、どうしたらいいのかわかりません。 ><input type="date" name="date">とかでやってもInvalid DateとかNaNで返されたりわかりません。 入力処理の基本形は下記のようになります、コンソールを見れば分かるとおり9時間 進むので、少し工夫が必要です。 https://ideone.com/UI6jgO

0

1150132349さん >・・・・今の時間からあと何日あるか・・・・・・・・ ご参考に↓ <!DOCTYPE html> <html> <head> <meta charset="utf-8"> </head> <body> <p>指定日までの日にち表示</p> <input id="indate" type="text" value="2022/1/23" onchange="DiffDate()"> <p id="out">ここに表示</p> <script> function DiffDate() { var nowDate = new Date(); var dnumNow = nowDate.getTime();// 現在日時を数値に変換 var indate = document.querySelector("#indate").value.split('/'); // 指定日の年、月、日を取得 var targetDate = new Date( indate[0], indate[1]-1, indate[2] ); // 月の値は 1 を引く var dnumTarget = targetDate.getTime(); // 指定日時を数値に変換 var diffMSec = dnumTarget - dnumNow;// 引き算して残日数を計算 var diffDays = diffMSec / ( 1000 * 60 * 60 * 24 ); var showDays = Math.ceil( diffDays ); // 小数点以下を切り上げる var Msg; if( showDays >= 0 ) { Msg = "指定日まであと " + showDays + "日です。"; } else { Msg = "指定日は " + (showDays * -1) + "日前に過ぎました。"; } document.querySelector("#out").innerText = Msg; // 表示 } </script> </body> </html>