Java Scriptを初めて、1~2週間なのですが色々自分でも調べてみたのですが、良くわからない部分があり質問
させて頂きます。
例文では、本日が3月28日で、3,29と入力すると「あと364日」と出るのですが、自分のjsでは「あと1日」出ます。
さらに自分のjsで3,27で入力すると「-1日」と出ます。
例文で言いますと、8行目からがなぜこうなるのかといった考え方が分からなくて、初心者にもわかりやすい説明で
お願い出来ませんでしょうか?
例文
0 function count(){
1 var bm = prompt("誕生日の月を1~12で入力してください。","");
2 var bd = prompt("誕生日の日を1~31で入力してください。","");
3 var now = new Date();
4 var birthday = new Date();
5 birthday.setMonth(bm-1);
6 birthday.setDate(bd);
7 var ms = birthday.getTime() - now.getTime();
8 if (ms <= 0){
9 var by = birthday.getFullYear();
10 birthday.setFullYear(by+1);
11 ms = birthday.getTime() - now.getTime();
12 }
13 var days = ms / (24 * 60 * 60 * 1000);
14 days = Math.ceil(days);
15 alert("次の誕生日まで、あと" + days + "日です")
16}
私が書いたJSです。
0 function daysCalculation()
1 {
2 var month;
3 var day;
4 var today;
5 var birthday;
6 var result;
7
8 month = prompt("誕生日の月を1~12で入力してください");
9 day = prompt("誕生日の日を1~31で入力してください");
10 today = new Date();
11 birthday = new Date(today.getFullYear(),month-1,day);
12 result = Math.ceil((birthday.getTime()-today.getTime())/(246060*1000));
13 alert("誕生日まであと" + result + "日です");
14
15 }
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。