Getting Data In

Why are relative_time() and strptime() using different time zones?

Communicator

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?

0 Karma
1 Solution

Ultra Champion

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?

View solution in original post

Ultra Champion

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?

View solution in original post

Communicator

That's what was happening. I appended the correct time zone into the date when inputting into the strptime and it works.

0 Karma

SplunkTrust
SplunkTrust

For clarification - what exact version of Splunk are you running this on?

0 Karma

Communicator

@rich7177 Version 6.6.3

0 Karma