永洪社区
标题:
日期参数的脚本怎么写
[打印本页]
作者:
yhdata_2aA4rwOK
时间:
2022-9-27 13:50
标题:
日期参数的脚本怎么写
文本参数1是今天,实现文本参数2是文本参数1所在周的第一天,也就是周一、2022-09-26;文本参数3是文本参数1所在季度的第一天,也就是第三季度2022-07-01,请问这种脚本应该怎么写?
(, 下载次数: 167)
上传
点击文件名下载附件
作者:
0xRichard
时间:
2022-9-27 13:50
(, 下载次数: 153)
上传
点击文件名下载附件
1.新建三个文本参数,分别修改名称为文1,文2,文3
2.复制一下脚本放入到报告-脚本-变化时运行
var
d1
=
文
1
.value
var
list
=
split
(
d1,
'-'
,-
1
)
var
d2
=
weekday
(
date
(
list
[
0
,list
[
1
,list
[
2
)
,
2
)
var
d3
=
''
if
(
d2
>
1
&&
list
[
2
<
d2
)
{
if
(
list
[
1
-
1
==
2
)
{
d3
=
toString
(
list
[
0
]+
'-'
+
toString
(
list
[
1
)
+
'-'
+
(
28
-d2
+
list
[
2
))
//debug(d3)
}
else
if
(
list
[
1
-
1
==
1
||
list
[
1
-
1
==
3
||
list
[
1
-
1
==
5
||
list
[
1
-
1
==
7
||
list
[
1
-
1
==
8
||
list
[
1
-
1
==
10
||
list
[
1
-
1
==
12
)
{
d3
=
toString
(
list
[
0
]+
'-'
+
toString
(
list
[
1
)
+
'-'
+
(
31
-d2
+
list
[
2
))
}
else
if
(
list
[
1
-
1
==
4
||
list
[
1
-
1
==
6
||
list
[
1
-
1
==
9
||
list
[
1
-
1
==
11
)
{
d3
=
toString
(
list
[
0
]+
'-'
+
toString
(
list
[
1
)
+
'-'
+
(
30
-d2
+
list
[
2
))
//debug(d3)
}
}
else
if
(
d2
==
1
)
{
d3
=
toString
(
list
[
0
)
+
'-'
+
toString
(
list
[
1
)
+
'-'
+
integer
(
list
[
2
)
//debug(d3)
}
else
if
(
list
[
2
]>
d2
)
{
d3
=
toString
(
list
[
0
)
+
'-'
+
toString
(
list
[
1
)
+
'-'
+
integer
(
list
[
2
-d2
+
1
)
}
文
2
.value
=
d3
var
dd
=
文
1
.value
var
list
=
split
(
dd,
'-'
,-
1
)
if
(
list
[
1
]==
1
||
list
[
1
]==
2
||
list
[
1
]==
3
)
{
文
3
.value
=
list
[
0
]+
'-'
+
'01-01'
}
else
if
(
list
[
1
]==
4
||
list
[
1
]==
5
||
list
[
1
]==
6
)
{
文
3
.value
=
list
[
0
]+
'-'
+
'04-01'
}
else
if
(
list
[
1
]==
9
||
list
[
1
]==
7
||
list
[
1
]==
8
)
{
文
3
.value
=
list
[
0
]+
'-'
+
'07-01'
}
else
if
(
list
[
1
]==
10
||
list
[
1
]==
12
||
list
[
1
]==
11
)
{
文
3
.value
=
list
[
0
]+
'-'
+
'10-01'
}
作者:
yhdata_ruby
时间:
2022-9-27 14:19
本帖最后由 yhdata_ruby 于 2022-9-27 14:22 编辑
_THIS_YEAR_WEEK_为
返回当前周的第一天,
_THIS_YEAR_QUARTER_
返回当前季度第一天。
具体可以参考
https://www.yonghongtech.com/hel ... E%E5%8F%82%E6%95%B0
作者:
0xRichard
时间:
2022-9-28 12:27
richard_y 发表于 2022-9-27 16:27
1.新建三个文本参数,分别修改名称为文1,文2,文3
2.复制一下脚本放入到报告-脚本-变化时运行
var d1=文1 ...
优化了脚本,可以复制新的脚本,也可以导入case看下(94版本)
var d1=文1.value
var list = split(d1,'-',-1)
var d2 = weekday(date(list[0],list[1],list[2]),2)
var d3 = ''
if (d2 > 1 && integer(list[2]) < d2){
if (list[1]-1 == 2){
d3 = toString(list[0]+'-'+'0'+toString(integer(list[1]-1))+'-'+(28-d2+integer(list[2])+1))
}else if (integer(list[1])+1==2){
d3 = toString(list[0]-1+'-'+'12'+'-'+(31-d2+integer(list[2])+1))
}else if(list[1]-1 == 1||list[1]-1 == 3||list[1]-1 == 5||list[1]-1 == 7||list[1]-1 == 8||list[1]-1 == 10||list[1]-1 == 12){
if (list[1]-1==12||list[1]-1==10){
d3 = toString(list[0]+'-'+toString(integer(list[1]-1))+'-'+(31-d2+integer(list[2])+1))
}else{
d3 = toString(list[0]+'-'+'0'+toString(integer(list[1]-1))+'-'+(31-d2+integer(list[2])+1))
}
}else if(list[1]-1 ==4||list[1]-1 ==6||list[1]-1 ==9||list[1]-1 ==11){
if (list[1]-1==11){
d3 = toString(list[0]+'-'+toString(integer(list[1]-1))+'-'+(30-d2+integer(list[2])+1))
}else{
d3 = toString(list[0]+'-'+'0'+toString(integer(list[1]-1))+'-'+(30-d2+integer(list[2])+1))
}
}else{
debug('nnnn')
}
}else if(d2 == 1){
d3 = toString(list[0])+'-'+toString(list[1])+'-'+integer(list[2])
}else if(list[2]>d2){
d3 = toString(list[0])+'-'+toString(list[1])+'-'+integer(list[2]-d2+1)
}else if (list[2]==d2){
d3 = toString(list[0])+'-'+toString(list[1])+'-'+integer(list[2]-d2+1)
}
list2 = split(d3,'-',-1)
if (integer(list2[2])<10){
文2.value= toString(list2[0])+'-'+toString(list2[1])+'-'+'0'+integer(list2[2])
}else{
文2.value= d3
}
var dd = 文1.value
var list3 = split(dd,'-',-1)
if(integer(list3[1])==1||list3[1]==2||list3[1]==3){
文3.value = list3[0]+'-'+'01-01'
}else if(list3[1]==4||list3[1]==5||list3[1]==6){
文3.value = list3[0]+'-'+'04-01'
}else if(list3[1]==9||list3[1]==7||list3[1]==8){
文3.value = list3[0]+'-'+'07-01'
}else if(list3[1]==10||list3[1]==12||list3[1]==11){
文3.value = list3[0]+'-'+'10-01'
}
欢迎光临 永洪社区 (https://club.yonghongtech.com/)
Powered by Discuz! X3.4