json-rules-engine icon indicating copy to clipboard operation
json-rules-engine copied to clipboard

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

Open PundhirChetan opened this issue 1 year ago • 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"}]}}

PundhirChetan avatar Oct 09 '24 00:10 PundhirChetan

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

chris-pardy avatar Oct 14 '24 02:10 chris-pardy

Consider looking at this discussion about handling dates: https://github.com/CacheControl/json-rules-engine/discussions/409

Ben-CA avatar Feb 07 '25 16:02 Ben-CA