Apache nifi 日期到季度
我必须将给定日期转换为季度。 这通常意味着(使用浮点),我可以在Nifi的表达式语言中使用此算法:Apache nifi 日期到季度,apache-nifi,Apache Nifi,我必须将给定日期转换为季度。 这通常意味着(使用浮点),我可以在Nifi的表达式语言中使用此算法: ${start_dt :toDate("yyyy-MM-dd'T'HH:mm:ssZ") :format('MM','GMT') :toNumber() :divide(3) :plus(0.9) :toDecimal()} 步骤如下: 2019-11-10T12:00:00+0000->11->11->3.66666->4.56666->4 2019-12-10T12:00:00+
${start_dt
:toDate("yyyy-MM-dd'T'HH:mm:ssZ")
:format('MM','GMT')
:toNumber()
:divide(3)
:plus(0.9)
:toDecimal()}
步骤如下:
2019-11-10T12:00:00+0000
->11
->11
->3.66666
->4.56666
->4
2019-12-10T12:00:00+0000
->12
->12
->4
->4.9
->4
但是我得到的是3.9,只在第12个月有效,所以toNumber()不起作用。作为一个例子,我必须在除法之前转换成数字,这样我才能得到浮点,但显然这不起作用
我不想为了这个小小的计算而使用脚本
Nifi版本是1.9.2使用divide(3.0)
代替divide(3)
解决了这个问题。文档说明,如果其中一个参数是number,则使用该参数。因为我不是以英语为母语的人,所以我也把数字和小数混淆了。小数是浮点数,数字是整数 以下是工作算法:
${start_dt
:toDate("yyyy-MM-dd'T'HH:mm:ssZ")
:format('MM','GMT')
:divide(3.0)
:plus(0.9)
:toNumber()}