Hello,
I am attempting to parse timestamps of various formats/precision within the
same field in json. Here is an example (using Nifi 1.11.4):
input:
{"cd": "2021-02-24T12:01:01"}
{"cd": "2021-02-24T12:01:01Z"}
{"cd": "2021-02-25T12:01:01.99"}
{"cd": "2021-02-26T12:01:01.999"}
conversion in UpdateRecord:
/cd = format(toDate(/cd, "yyyy-MM-dd'T'HH:mm:ss"),
"yyyy-MM-dd'T'HH:mm:ss.SSSZZ")
output:
{"cd":"2021-02-24T12:01:01.000+0000"}
{"cd":"2021-02-24T12:01:01.000+0000"}
{"cd":"2021-02-25T12:01:01.000+0000"} << precision lost
{"cd":"2021-02-26T12:01:01.000+0000"} << precision lost
changing the conversion in UpdateRecord to this:
/cd = format(toDate(/cd, "yyyy-MM-dd'T'HH:mm:ss.SSS"),
"yyyy-MM-dd'T'HH:mm:ss.SSSZZ")
output:
{"cd":"2021-02-24T12:01:01"} << skipped
{"cd":"2021-02-24T12:01:01Z"} << skipped
{"cd":"2021-02-25T12:01:01.099+0000"} << not sure if this is correct
{"cd":"2021-02-26T12:01:01.999+0000"} << correct
Is there a way to change the timestamp parsing format on a per-record basis?
Thanks,
Greg