Splunk Search

Strftime/Strptime not including leading zero

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

Champion

Hi

Try

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

View solution in original post

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

Communicator

This also worked. Thanks so much, @somesoni2

0 Karma

Champion

Hi

Try

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

View solution in original post

Communicator

That did it, thank you!

0 Karma
State of Splunk Careers

Access the Splunk Careers Report to see real data that shows how Splunk mastery increases your value and job satisfaction.

Find out what your skills are worth!