日期到季度

时间:2019-10-29 08:35:47

标签: 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+0000-> 12-> 12-> 4-> 4.9-> 4

但是相反,我得到了3.9,仅在第12个月有效,所以toNumber()不起作用。作为文档,我必须在除法之前转换为Number,以便获得浮点数,但显然这是行不通的。

我不想仅仅为了这个小小的计算而使用脚本。

Nifi版本为1.9.2

1 个答案:

答案 0 :(得分:0)

使用divide(3.0)代替divide(3)解决了这个问题。
文档说,如果参数之一是数字,则使用该参数。由于我不是母语人士,因此我也混用了Number和Decimal。小数是浮点数,数字是整数。

这是工作算法:

${start_dt
:toDate("yyyy-MM-dd'T'HH:mm:ssZ")
:format('MM','GMT')
:divide(3.0)
:plus(0.9)
:toNumber()}