[ 
https://issues.apache.org/jira/browse/NIFI-15658?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Richard Scott reassigned NIFI-15658:
------------------------------------

    Assignee: Richard Scott

> Add datePlus and dateMinus functions to NiFi Expression Language for date 
> arithmetic
> ------------------------------------------------------------------------------------
>
>                 Key: NIFI-15658
>                 URL: https://issues.apache.org/jira/browse/NIFI-15658
>             Project: Apache NiFi
>          Issue Type: Improvement
>    Affects Versions: 2.8.0
>            Reporter: Richard Scott
>            Assignee: Richard Scott
>            Priority: Minor
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> NiFi Expression Language provides {{toDate()}} for parsing values into a 
> {{{}Date{}}}, but there is no simple built-in way to then add or subtract 
> time from that {{{}Date{}}}.
> Currently, users wanting to shift a parsed date must often convert the 
> {{Date}} back to a numeric value, perform arithmetic in milliseconds, and 
> then convert or format the result again. This is awkward and makes common 
> date operations harder to read and maintain.
> For example, users should be able to write:
>  
> ${myDate:toDate("dd-MM-yyyy"):datePlus("1 week"):format("dd-MM-yyyy")}
>  
> instead of relying on number-based date arithmetic after parsing.
> Proposed new functions:
>  * {{datePlus(String duration)}}
>  * {{dateMinus(String duration)}}
> Supported units:
>  * years
>  * months
>  * weeks
>  * days
>  * hours
>  * minutes
>  * seconds
> The duration argument should be validated strictly, for example:
>  * valid: {{{}"1 day"{}}}, {{{}"2 weeks"{}}}, {{"3 months"}}
>  * invalid: {{{}"B weeks"{}}}, {{{}"1 dog"{}}}, {{"ten days"}}
> Both functions should operate on and return {{Date}} values so they can be 
> chained naturally with existing date-related Expression Language functions 
> such as {{{}format(){}}}.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to