CacheControl/json-rules-engine

operator greaterThan, lessThan not working properly for Date. It is only comparing day part, but not considering month and year while comparing

Opened this issue · 2 comments

it not working on date(json-rules-engine-6.5.0).
greaterThan working only on date’s day, it is not considering month and year. Let say datefield ABC value is “05 Apr 2022“, and we configure condition "if value “06 Apr 2021“ greaterThan ABC", then it is true as per library. Similarly, “04 Apr 2024“ greaterThan ABC is false as it only compare “04“ with “05“ and neglecting month and year part in comparison of dates.

{"conditions":{"any":[{"fact":"SomeProperty","tabnum":"1","value":"06-Sep-2024","operator":"greaterThan"}]}}

This is because these do numeric comparisons. Convert the facts to timestamps before comparing them.

Consider looking at this discussion about handling dates:
#409