I ran this query:
| makeresults
| eval creationdate = "2018-11-15 20:00:00.000000000"
| eval epoch=relative_time(now(), "@h"), epoch2=strptime(creationdate, "%Y-%m-%d %H:%M:%S.%N")
I ran it at a time when epoch and epoch2 should return the same value. However, epoch and epoch2 are 8 hours off from each other, with epoch being the correct value.
What can I do to troubleshoot this?
I think that's because now()
returns an epoch timestamp in UTC, while the string you have crafted is probably your local time? Converting that to an epoch value without telling strptime what timezone it should use, results in strptime using the splunk server's timezone to convert that, which probably was different from your personal local timezone?
I think that's because now()
returns an epoch timestamp in UTC, while the string you have crafted is probably your local time? Converting that to an epoch value without telling strptime what timezone it should use, results in strptime using the splunk server's timezone to convert that, which probably was different from your personal local timezone?
That's what was happening. I appended the correct time zone into the date when inputting into the strptime and it works.
For clarification - what exact version of Splunk are you running this on?
@rich7177 Version 6.6.3