我有两个文本框用于选择日期 - “从日期有效”和“有效到日期”。当日期输入到有效日期文本框中时,我想自动添加30天并将此日期放入有效日期文本框中。所以我加了一个onchange到文本框:尝试添加日期的天数,但格式不正确
<asp:TextBox runat="server" ID="txtValidFromDate" onchange="UpdateValidToDate(this.value)" Width="80px" rel="datepicker"></asp:TextBox>
function UpdateValidToDate(date){
var ValidToDate = new Date(date);
var numberOfDaysToAdd = 30;
ValidToDate.setDate(ValidToDate.getDate() + numberOfDaysToAdd);
document.getElementById('<%= txtValidToDate.ClientID %>').value = ValidToDate;
}
的问题是日期格式2016年7月12日,所以当我打电话ValidToDate.getDate()
格式是错误的。日子和月份越来越混乱。所以,如果我添加这段代码,我可以看到一天被设置为12,而月份被设置为7,当它应该是相反的。
var day = ValidToDate.getDate();
var month = ValidToDate.getMonth()+1;
如何格式化来自文本框的日期,所以当我添加30天时它会返回正确的日期?
你需要在'的setDate使用它之前更改日期格式'MM/DD/yyyy'取代'DD/MM/yyyy'格式()'。 –
使用'新日期(ValidToDate).getDate()' – Satpal
如果您使用任何日期选择器组件,他们总是有一个获取日期对象(而不是字符串表示)的方法 – Jamiec