Splunk Search

Converting UTC to PST time on events?

dionrivera
Communicator

Some of my events are displaying UTC time while others display PST time, as they should since I have my preferences set to PST. The UTC times are skewing my results. Is there a way to convert my results so that all events show UTC time or at least have a variable e.g., PST_time which shows the UTC > PST conversion?

0 Karma
1 Solution

richgalloway
SplunkTrust
SplunkTrust

Splunk automatically displays timestamps in your selected time zone.  If that's not happening then it's likely that Splunk is treating the field as plain text rather than a timestamp.  To fix that, use the strptime() and strftime() functions to convert the string into a timestamp string.

... | eval foo=strftime(strptime(foo, "<<format string that matches the data>>"), "<<format string that matches the data>>")
---
If this reply helps you, Karma would be appreciated.

View solution in original post

PickleRick
SplunkTrust
SplunkTrust

Adding a bit to @richgalloway 's answer - by default, the only time-related thing splunk does on its own is parse the timestamp from the original event (if it knows how to do it; otherwise the event gets a timestamp other way but that's another story) and stores it as a "unix timestamp" in _time field. Whenever splunk displays the _time field, shows it in your configured timezone but the original contents of the event are shown as theynwere. And that's pretty much everything time-related that splunk does on its own.

So if your event contains a UTC timestamp and splunk extracts it properly, it will show the event as happening at a timestamp rendered in your local timezone but the raw event itself will still have the original UTC timestamp.

If you have other fields which contain time strings, unless you have some calculated fields defined which do automatic strptime/strftime (which is veeeeery unlikely), they will just be shown and possibly extracted as string values.

richgalloway
SplunkTrust
SplunkTrust

Splunk automatically displays timestamps in your selected time zone.  If that's not happening then it's likely that Splunk is treating the field as plain text rather than a timestamp.  To fix that, use the strptime() and strftime() functions to convert the string into a timestamp string.

... | eval foo=strftime(strptime(foo, "<<format string that matches the data>>"), "<<format string that matches the data>>")
---
If this reply helps you, Karma would be appreciated.

dionrivera
Communicator

Thank you so much. I'll give this a try

 

0 Karma
Got questions? Get answers!

Join the Splunk Community Slack to learn, troubleshoot, and make connections with fellow Splunk practitioners in real time!

Meet up IRL or virtually!

Join Splunk User Groups to connect and learn in-person by region or remotely by topic or industry.

Get Updates on the Splunk Community!

May 2026 Splunk Expert Sessions: Security & Observability

Level Up Your Operations: May 2026 Splunk Expert Sessions Whether you are refining your security posture or ...

Network to App: Observability Unlocked [May & June Series]

In today’s digital landscape, your environment is no longer confined to the data center. It spans complex ...

SPL2 Deep Dives, AppDynamics Integrations, SAML Made Simple and Much More on Splunk ...

Splunk Lantern is Splunk’s customer success center that provides practical guidance from Splunk experts on key ...