我有兩個文本框用於選擇日期 - 「從日期有效」和「有效到日期」。當日期輸入到有效日期文本框中時,我想自動添加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