我有两个文本框用于选择日期 - "有效期从日期"和"有效日期"。当日期输入到有效日期文本框中时,我想自动添加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;
}
问题是日期格式是07/12/2016所以当我拨打ValidToDate.getDate()
时格式错误。日期和月份变得混乱。因此,如果我添加此代码,我可以看到当天设置为12,而月份设置为7,而应该反过来。
var day = ValidToDate.getDate();
var month = ValidToDate.getMonth()+1;
如何格式化文本框中的日期,以便在我添加30天后返回正确的日期?
答案 0 :(得分:0)
答案 1 :(得分:0)
使用mm / dd / yyyy日期格式
尝试以下代码var date = '12/07/2016';
var ValidToDate = new Date(date);
var numberOfDaysToAdd = 30;
ValidToDate.setDate(ValidToDate.getDate() + numberOfDaysToAdd);
document.write(ValidToDate.getDate()+'/'+(ValidToDate.getMonth()+1)+'/'+ValidToDate.getFullYear());
使用dd/mm/yyyy
日期格式
var date1 = '07/12/2016'; // let the format is dd/mm/yyyy
// convert date in mm/dd/yyyy format
d=date1.split('/');
date = d[1]+'/'+d[0]+'/'+d[2];
var ValidToDate = new Date(date);
var numberOfDaysToAdd = 30;
ValidToDate.setDate(ValidToDate.getDate() + numberOfDaysToAdd);
document.write(ValidToDate.getDate()+'/'+(ValidToDate.getMonth()+1)+'/'+ValidToDate.getFullYear());