永洪社区

标题: 从日期过滤组件中取天数 [打印本页]

作者: yhdata_yp1OkVa5    时间: 2023-4-24 10:05
标题: 从日期过滤组件中取天数
日期过滤范围组件,根据选择区间不同取对应天数,放到自由表中去,用于计算

作者: DX188    时间: 2023-4-24 10:05
yhdata_yp1OkVa5 发表于 2023-4-24 14:29
这个日期加一是怎么做的呀

先取数,再截取,将月份+1后再重新组合成新日期
最后应你的要求,相减后的天数还要+1,我先把end日期+1后再做的相减
var start=日期过滤1.firstDates[0]
var a=start.substring(1,(start.length()))  //得到t开头的数据,所以需截取
var b=a.split("-")   //以”-”分割成数组,方便月份+1(内置月份是0-11)
var y=b[0]*1;  //年
var m=b[1]*1;  //内置月份是0-11
var d=b[2]*1; //日 截取后是文本格式,全部*1转成数值
m=m+1
start=parseDate(y+"-"+m+"-"+d,"yyyy-MM-dd")
debug(start)

var end =日期过滤1.secondDates[0]
var a1=end.substring(1,(end.length()))
var b1=a1.split("-")
var y1=b1[0]*1
var m1=b1[1]*1;  
var d1=b1[2]*1;
m1=m1+1
end=parseDate(y1+"-"+m1+"-"+d1,"yyyy-MM-dd")
debug(end)

debug(dateGap(start,dateAdd(end,"day",1),"dayofyear"))

作者: yhdata_lyaa    时间: 2023-4-24 10:20
思路,先获取开始和结束的值
https://club.yonghongtech.com/thread-9535-1-1.html
再用dategap函数计算差值
https://www.yonghongtech.com/rea ... ighlightsub=dategap
作者: yhdata_lyaa    时间: 2023-4-24 10:25
参考脚本


作者: yhdata_yp1OkVa5    时间: 2023-4-24 10:37
yhdata_lyaa 发表于 2023-4-24 10:25
参考脚本


作者: yhdata_lyaa    时间: 2023-4-24 10:42
yhdata_yp1OkVa5 发表于 2023-4-24 10:37

你是怎么写的脚本
作者: yhdata_yp1OkVa5    时间: 2023-4-24 10:47
yhdata_lyaa 发表于 2023-4-24 10:42
你是怎么写的脚本



作者: DX188    时间: 2023-4-24 11:06
yhdata_yp1OkVa5 发表于 2023-4-24 10:47

日期过滤组件取的月是0-11的,不是1-12,所以取出来后得先加1
作者: yhdata_lyaa    时间: 2023-4-24 11:21
要选选值
if(日期过滤1.firstDates!=null&&日期过滤1.secondDates!=null)
作者: yhdata_yp1OkVa5    时间: 2023-4-24 11:34
yhdata_lyaa 发表于 2023-4-24 11:21
要选选值
if(日期过滤1.firstDates!=null&&日期过滤1.secondDates!=null)

获取的天数怎么放到表格里嘞

作者: yhdata_lyaa    时间: 2023-4-24 13:17
参考 自由表赋值https://club.yonghongtech.com/thread-11457-1-1.html
作者: yhdata_yp1OkVa5    时间: 2023-4-24 13:54
yhdata_lyaa 发表于 2023-4-24 13:17
参考 自由表赋值https://club.yonghongtech.com/thread-11457-1-1.html

想把第四列全部附值这个,set可以整列赋值吗?
作者: yhdata_lyaa    时间: 2023-4-24 13:59
yhdata_yp1OkVa5 发表于 2023-4-24 13:54
想把第四列全部附值这个,set可以整列赋值吗?

(行和列都是从0开始数),可以写四个set就可以了
作者: yhdata_yp1OkVa5    时间: 2023-4-24 14:08
yhdata_lyaa 发表于 2023-4-24 13:59
(行和列都是从0开始数),可以写四个set就可以了

这个天数少一天,这么加不太对,data1.set(1,4,dateGap(a0,a1,'dayofyear')+'1');

作者: yhdata_lyaa    时间: 2023-4-24 14:25
yhdata_yp1OkVa5 发表于 2023-4-24 14:08
这个天数少一天,这么加不太对,data1.set(1,4,dateGap(a0,a1,'dayofyear')+'1');

哪个日期到哪个日期哦,如果都少一天,那就再加一天吧
作者: yhdata_yp1OkVa5    时间: 2023-4-24 14:29
DX188 发表于 2023-4-24 11:06
日期过滤组件取的月是0-11的,不是1-12,所以取出来后得先加1

这个日期加一是怎么做的呀
作者: yhdata_lyaa    时间: 2023-4-24 14:37
yhdata_yp1OkVa5 发表于 2023-4-24 14:29
这个日期加一是怎么做的呀

用这个函数dateAdd(aaa,'dayofyear', 1)


作者: yhdata_yp1OkVa5    时间: 2023-4-24 15:02
yhdata_lyaa 发表于 2023-4-24 14:25
哪个日期到哪个日期哦,如果都少一天,那就再加一天吧

我用隔间计算left(1)+1,算出来值不对

作者: yhdata_lyaa    时间: 2023-4-24 15:20
yhdata_yp1OkVa5 发表于 2023-4-24 15:02
我用隔间计算left(1)+1,算出来值不对

看不出来什么地方不对,本来该是多少呢,什么值相减,试试楼上的函数呢
作者: yhdata_yp1OkVa5    时间: 2023-4-24 15:35
yhdata_lyaa 发表于 2023-4-24 15:20
看不出来什么地方不对,本来该是多少呢,什么值相减,试试楼上的函数呢 ...

就是从日期组建内取的天数,现在整体少一天,比如说我只取1月1号到1月1号的,计算结果就是0,这个在脚本里加1吗?怎么加,函数怎么取到对应的列呀
作者: yhdata_yp1OkVa5    时间: 2023-4-24 15:52
感谢,十分感谢
作者: yhdata_yp1OkVa5    时间: 2023-4-24 16:46
yhdata_lyaa 发表于 2023-4-24 14:37
用这个函数dateAdd(aaa,'dayofyear', 1)

通过这个函数取出来的天数,怎么在表格内参与数学运算呀,我看现在求不出来,是要进行数据格式转换啥的吗





欢迎光临 永洪社区 (https://club.yonghongtech.com/) Powered by Discuz! X3.4