根据日期控件减一个月的问题

我2个日期控件,其中一个跟随另一个选择减一个月也就是取上个月。我这样写的

var sdate = new Date(this.getValue());//被编辑的日期控件

var sdate1 = new Date();

sdate1.setMonth(sdate.getMonth()-1);

this.options.form.getWidgetByName("startdate1").setValue(sdate1);//赋值另一个日期控件

但是被赋值的控件是空。写法有问题吗?我是根据JS实现起始日期编辑后结束日期增加7天这个文档来做的。我用alert输出看sdate显示的是invalid date。控件里格式是yyyy-MM-dd 00:00:00这样时间型的。

FineReport apengjun 发布于 2019-1-25 14:32
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
孤陌Lv6资深互助
发布于2019-1-25 14:49(编辑于 2019-1-25 15:14)

这个用内置公式就好了

var a=this.getValue()// 获取当前控件值

var rq1=FR.remoteEvaluate('=MONTHDELTA("'+a+'",-1)');

alert(rq1); 

这样就可以了

  • apengjun apengjun(提问者) 恩。。还需要format一下才能赋值。。 我这样就OK了 var a=this.getValue()// 获取当前控件值 var rq1=FR.remoteEvaluate(\'=MONTHDELTA(\"\'+a+\'\",-1)\'); var rq2=FR.remoteEvaluate(\'=format(\"\'+rq1+\'\",\"yyyy-MM-dd\")\'); this.options.form.getWidgetByName(\"s2\").setValue(rq2);
    2019-01-27 11:09 
最佳回答
0
lastleafLv0见习互助
发布于2019-1-25 14:50

你把 sdate1 这个值打印出来看看是什么格式的

最佳回答
0
守约Lv4初级互助
发布于2019-1-25 14:51
var sdate = new Date(this.getValue().substring(0,10));

获取到的数据,要格式化一下

  • 4关注人数
  • 1593浏览人数
  • 最后回答于:2019-1-25 15:14
    请选择关闭问题的原因
    确定 取消
    返回顶部