如何在函数

时间:2016-05-22 07:58:08

标签: javascript extjs

我有这个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表单代码

,请告诉我

1 个答案:

答案 0 :(得分:0)

如果您使用的是extJS,我强烈建议您使用Ext.Datehttp://docs.sencha.com/extjs/4.2.1/#!/api/Ext.Date)类来操作,格式化和解析日期。