Splunk Search

Strftime/Strptime not including leading zero

mistydennis
Communicator

DateField before eval: 20190402000000

I'm trying to apply strftime/strptime so the DateField will show as 2019-04-02

My eval:

| eval DateField=strftime(strptime('DateField',"%Y%m%d"), "%F") 

This eval produces 2019-04-20 instead of 2019-04-02. I thought %d included a leading zero, but it's not showing in my date. Where did I go wrong?

0 Karma
1 Solution

vnravikumar
Champion

Hi

Try

| eval DateField=strftime(strptime('DateField',"%Y%m%d%H%M%S"), "%Y-%m-%d")

View solution in original post

somesoni2
Revered Legend

I believe additional zeros in your timestamp are causing issue. Ideally, your strptime time format should include all characters appearing in your DateField, that way every character is properly processes. Give this a try (runanywhere sample, look for time format in DateField2)

| gentimes start=-1 | eval DateField="20190402000000" | table DateField  | eval DateField1=strftime(strptime('DateField',"%Y%m%d"), "%F")| eval DateField2=strftime(strptime('DateField',"%Y%m%d000000"), "%F")
0 Karma

mistydennis
Communicator

This also worked. Thanks so much, @somesoni2

0 Karma

vnravikumar
Champion

Hi

Try

| eval DateField=strftime(strptime('DateField',"%Y%m%d%H%M%S"), "%Y-%m-%d")

mistydennis
Communicator

That did it, thank you!

0 Karma
Get Updates on the Splunk Community!

The OpenTelemetry Certified Associate (OTCA) Exam

What’s this OTCA exam? The Linux Foundation offers the OpenTelemetry Certified Associate (OTCA) credential to ...

From Manual to Agentic: Level Up Your SOC at Cisco Live

Welcome to the Era of the Agentic SOC   Are you tired of being a manual alert responder? The security ...

Splunk Classroom Chronicles: Training Tales and Testimonials (Episode 4)

Welcome back to Splunk Classroom Chronicles, our ongoing series where we shine a light on what really happens ...