0

-ユーザーが選択できるいくつかのオプションがあるドロップダウンリストがあります。

- オプションは、1 日、1 週間、2 週間、1 か月、および 6 か月です。

-オプション 1 日を選択すると、今日の日付が 1 つ増え、次の日付が表示されるようになりました。

- 1 週間を選択すると、1 週間後の日付が表示されます。

-問題は、オプションを選択すると30/31 より大きい日付が表示されることがあることです。

-以下のjavacript関数を使用します。

 function select_duration(ddlcupon) {

            var skillsSelect = document.getElementById("ddlcupon");
            var selectedText = skillsSelect.options[skillsSelect.selectedIndex].text;

            if (selectedText == "1 Day") {

                var currentTime = new Date();
                var month = currentTime.getMonth() + 1;
                var day = currentTime.getDate() + 1;
                var year = currentTime.getFullYear();
                var exdate = month + "/" + day + "/" + year;

                document.getElementById('<%=txtEventDate.ClientID%>').value = exdate.toString();


            }
            if (selectedText == "1 Week") {

                var currentTime = new Date();
                var month = currentTime.getMonth() + 1;
                var day = currentTime.getDate() + 7;
                var year = currentTime.getFullYear();
                var exdate = month + "/" + day + "/" + year;

                document.getElementById('<%=txtEventDate.ClientID%>').value = exdate.toString();
            }
            if (selectedText == "2 Weeks") {

                var currentTime = new Date();
                var month = currentTime.getMonth() + 1;
                var day = currentTime.getDate() + 14;
                var year = currentTime.getFullYear();
                var exdate = month + "/" + day + "/" + year;
                document.getElementById('<%=txtEventDate.ClientID%>').value = exdate.toString();
            }
            if (selectedText == "1 Month") {

                var currentTime = new Date();
                var month = currentTime.getMonth() + 2;
                var day = currentTime.getDate();
                var year = currentTime.getFullYear();
                var exdate = month + "/" + day + "/" + year;
                document.getElementById('<%=txtEventDate.ClientID%>').value = exdate.toString();
            }
            if (selectedText == "6 Months") {

                var currentTime = new Date();
                var month = currentTime.getMonth() + 7;
                var day = currentTime.getDate();
                var year = currentTime.getFullYear();
                var exdate = month + "/" + day + "/" + year;
                document.getElementById('<%=txtEventDate.ClientID%>').value = exdate.toString();
            }

-適切なデートをするのを手伝ってくれる人はいますか?

4

3 に答える 3

1

問題は、日、月、年を増やしていることです。したがって、月が 12 の場合は 13 になります。ミリ秒を直接操作できます。例えば:

var d = new Date('01/31/2013'); // Thu Jan 31 2013 00:00:00 GMT-0200 (BRST)
var addDay = 1000 * 60 * 60 * 24;
var currentMs = d.getTime();
d.setTime(currentMs + addDay);
console.log(d); // Fri Feb 01 2013 00:00:00 GMT-0200 (BRST)
于 2013-01-25T13:38:24.537 に答える
1

これを使ってみてください

var dt1 = new Date();    
var dt2 = new Date(dt1.getTime() + (86400000 * numberOfDay) );

日付が1日増える場合は、試してください

var dt2 = new Date(dt1.getTime() + (86400000 * 1 ) ); //so on
于 2013-01-25T13:46:01.407 に答える
0

Date.jsは、あらゆる種類の JavaScript 日付操作に便利なスクリプトです。

n 日を現在の日に加算する構文は次のとおりです。

// Add 3 days to Today
Date.today().add(3).days();

この場合、現在の日付に 3 日が加算されます。

于 2013-01-25T13:38:22.133 に答える