验证下拉列表以根据所选选项获取正确的日期
validate a dropdown list to get proper date based on the option selected
-
我有一个下拉列表,用户可以在其中选择一些选项。
- 选项是1天,1周,2周,1个月和6个月
- 现在,当我选择选项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();
}
- 有人可以帮助我找到一个合适的约会吗?
尝试使用这个
var dt1 = new Date();
var dt2 = new Date(dt1.getTime() + (86400000 * numberOfDay) );
如果您的日期增加一天,请尝试
var dt2 = new Date(dt1.getTime() + (86400000 * 1 ) ); //so on
问题是你正在增加日,月和年。因此,如果月份是 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)
Date.js 是一个方便的脚本,用于各种 JavaScript 日期操作。
将 n 天添加到当前日期的语法是
// Add 3 days to Today
Date.today().add(3).days();
在这种情况下,将当前日期添加 3 天。
相关文章:
- 如何从Angularjs中的新日期获取日期格式
- PhoneGap 2.0(Cordova)DatePicker插件'模式'-属性以获取日期和时间
- 获取日期和货币格式
- 如何从区域设置获取日期格式
- 如何使用TCPDF在可编辑PDF中获取日期选择器
- jQuery日期时间选择器-如何在javascript中获取日期
- 从另一个日期选择器中选择另一个值后,获取日期选择器的起始值
- 如何使用moment.js获取日期和时间
- 如何在日期选择器中的单独变量中获取日期月份和日期
- 需要减少用于获取日期格式的javascript方法代码
- 日期选取器单击事件获取日期
- 无法从日期对象javascript获取日期和月份
- 从getTime()类型的日期获取日期和时间,以显示mySQL数据库中的日期
- 如何使用javascript在unix时间戳中获取日期
- 如何从couchdb获取日期
- Angular从datetimepicker获取日期
- 如何在javascript中从日期函数中获取日期
- 只获取日期的时间戳,反之亦然
- 如何在javascript中根据周数、工作日和年份获取日期
- 如何在javaScript中获取日期和时间