我有这个Javascript代码段从组合框检索开始日期并将其与结束日期进行比较,然后计算出开始日期和结束日期之间有多少个月,并将该值输出到另一个文本字段中,然后最后获取结束日期并为其添加一天并将该值设置为到期日期,它是一个简单的函数但是我无法弄清楚如何修复日期的格式 现在,当一个人输入开始和结束日期格式为Y,m,d时,需要将其更改为Ymd(带连字符),但这会影响函数本身,然后它不起作用,我可以轻松更改在extjs格式,但我需要确保该功能在
之后仍然有效这是函数
function monthDiff(startdate, enddate) {
var months;
months = (enddate.getFullYear() - startdate.getFullYear()) * 12;
months -= startdate.getMonth();
months += enddate.getMonth();
return months <= 0 ? 0 : months;
}
var m = monthDiff(
Ext.getCmp('startdateTextField').getValue(),
Ext.getCmp('enddateTextField').getValue()
);
Ext.getCmp('durationTextField').setValue(m);
Date.prototype.addDays = function(d) {
this.setDate(this.getDate() + d);
return this;
};
Date.prototype.yyyymmdd = function() {
var yyyy = this.getFullYear().toString();
var mm = (this.getMonth() + 1).toString();
var dd = this.getDate().toString();
return yyyy + '-' + (mm[1] ? mm : "0" + mm[0]) + '-' + (dd[1] ? dd : "0" + dd[0]);
};
var end = Ext.getCmp('enddateTextField').getValue();
end.addDays(1);
var enddate = end.yyyymmdd();
var expirydate = enddate;
Ext.getCmp('expirydateTextField').setValue(expirydate);
如果我要发布extjs表单代码
,请告诉我答案 0 :(得分:0)
如果您使用的是extJS,我强烈建议您使用Ext.Date
(http://docs.sencha.com/extjs/4.2.1/#!/api/Ext.Date)类来操作,格式化和解析日期。