convert 2023-03-15T17:25:18.832-0400 to YYYY-MM-DD HH:MM:SS.Millisec .
2023-03-15T17:25:18.832-0400 ------------------- > 2023-03-15 17:25:18.832
Once converted to the asked format i need to calculate the difference between EndTime & StartTIme.
User strptime and strftime to Parse and Format time. Run this example in a search window
| makeresults
| fields - _time
| eval t="2023-03-15T17:25:18.832-0400"
| eval epoch_t=strptime(t, "%FT%T.%Q%z")
| eval formatted_t=strftime(epoch_t, "%F %T.%Q")
See here for time format variables
https://docs.splunk.com/Documentation/Splunk/9.0.3/SearchReference/Commontimeformatvariables
In order to calculate differences in time, always convert them to epoch times then simply subtract and you will get difference in seconds
You can run this example in a search window
| makeresults
| fields - _time
| eval StartTime="2023-03-15T17:25:18.832-0400"
| eval EndTime ="2023-03-15T19:37:18.123-0400"
| eval epoch_start_time=strptime(StartTime, "%FT%T.%Q%z")
| eval epoch_end_time =strptime(EndTime, "%FT%T.%Q%z")
| eval difference = epoch_end_time - epoch_start_time
No the difference is coming as expected
I am not sure what you mean by 'coming as expected'.
This is an example that shows you how to parse time and calculate differences and uses simple fixed examples.
You need to map this onto your use case with your data.