# Regarding Date filter format

**URL:** https://discuss.elastic.co/t/regarding-date-filter-format/308626
**Category:** Logstash
**Created:** [July 1, 2022, 5:56am UTC](https://discuss.elastic.co/t/regarding-date-filter-format/308626 "2022-07-01T05:56:15Z")
**Posts on this page:** 18
**Page:** 1

<div class="post-metadata">

### Author: ![suresh\_u](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/suresh_u/32/107394_2.png) [@suresh\_u](https://discuss.elastic.co/u/suresh_u)
#### Post date: [July 1, 2022, 5:56am UTC](https://discuss.elastic.co/t/regarding-date-filter-format/308626/1 "2022-07-01T05:56:15Z")

</div>

Hi team,

I have a field having value as  
**"updatedDate" =\> 2019-12-31T00:27:17.356Z**  
I am trying to convert date format to  
**updatedDate" =\> 2019-12-31**

I am using below filter.But getting datetime parse error:

date {  
match =\> ["updatedDate", "yyyy-MM-dd"]  
target =\> "updatedDate"  
}

could you please help on this?

Thanks,  
Suresh.

---

<div class="post-metadata">

### Author: ![sudhagar\_ramesh](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/sudhagar_ramesh/32/105673_2.png) [@sudhagar\_ramesh](https://discuss.elastic.co/u/sudhagar_ramesh)
#### Post date: [July 1, 2022, 6:09am UTC](https://discuss.elastic.co/t/regarding-date-filter-format/308626/2 "2022-07-01T06:09:23Z")

</div>

Hello @suresh_u

You can try like the below which would work

```auto
filter
{
ruby {
        code => '
            t = event.get("updatedDate")
            varDateStringToDate = DateTime.strptime(t,"%Y-%m-%dT%H:%M:%S")
            event.set("updatedDate", varDateStringToDate.strftime("%Y-%m-%d"))
        '
    }
}

```

Keep Posted!!! Thanks !!!

---

<div class="post-metadata">

### Author: ![suresh\_u](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/suresh_u/32/107394_2.png) [@suresh\_u](https://discuss.elastic.co/u/suresh_u)
#### Post date: [July 1, 2022, 6:32am UTC](https://discuss.elastic.co/t/regarding-date-filter-format/308626/3 "2022-07-01T06:32:21Z")

</div>

I am getting rubyexception @sudhagar_ramesh

"tags" =\> [  
[0] "\_rubyexception"  
],

filter {  
ruby {  
code =\> '  
t = event.get("updatedDate")  
varDateStringToDate = DateTime.strptime(t,"%Y-%m-%dT%H:%M:%S%z")  
event.set("updatedDate", varDateStringToDate.strftime("%Y-%m-%d"))  
'  
}  
}

updatedDate is not converted to required format.

Thanks.

---

<div class="post-metadata">

### Author: ![sudhagar\_ramesh](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/sudhagar_ramesh/32/105673_2.png) [@sudhagar\_ramesh](https://discuss.elastic.co/u/sudhagar_ramesh)
#### Post date: [July 1, 2022, 6:33am UTC](https://discuss.elastic.co/t/regarding-date-filter-format/308626/4 "2022-07-01T06:33:50Z")

</div>

> [@suresh\_u](#):
>
> 2019-12-31T00:27:17.356Z

@suresh_u Reproducing the issue. Give me sometime

---

<div class="post-metadata">

### Author: ![sudhagar\_ramesh](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/sudhagar_ramesh/32/105673_2.png) [@sudhagar\_ramesh](https://discuss.elastic.co/u/sudhagar_ramesh)
#### Post date: [July 1, 2022, 6:45am UTC](https://discuss.elastic.co/t/regarding-date-filter-format/308626/5 "2022-07-01T06:45:19Z")

</div>

Hello @suresh_u

Updated the code. Please check and feedback

---

<div class="post-metadata">

### Author: ![suresh\_u](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/suresh_u/32/107394_2.png) [@suresh\_u](https://discuss.elastic.co/u/suresh_u)
#### Post date: [July 1, 2022, 6:45am UTC](https://discuss.elastic.co/t/regarding-date-filter-format/308626/6 "2022-07-01T06:45:37Z")

</div>

sure @sudhagar_ramesh

---

<div class="post-metadata">

### Author: ![suresh\_u](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/suresh_u/32/107394_2.png) [@suresh\_u](https://discuss.elastic.co/u/suresh_u)
#### Post date: [July 1, 2022, 6:49am UTC](https://discuss.elastic.co/t/regarding-date-filter-format/308626/7 "2022-07-01T06:49:55Z")

</div>

could you please share the updated code? @sudhagar_ramesh

---

<div class="post-metadata">

### Author: ![sudhagar\_ramesh](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/sudhagar_ramesh/32/105673_2.png) [@sudhagar\_ramesh](https://discuss.elastic.co/u/sudhagar_ramesh)
#### Post date: [July 1, 2022, 6:51am UTC](https://discuss.elastic.co/t/regarding-date-filter-format/308626/8 "2022-07-01T06:51:19Z")

</div>

> [@sudhagar\_ramesh](#):
>
> ```auto
> filter
> {
> ruby {
> code => '
> t = event.get("updatedDate")
> varDateStringToDate = DateTime.strptime(t,"%Y-%m-%dT%H:%M:%S")
> event.set("updatedDate", varDateStringToDate.strftime("%Y-%m-%d"))
> '
> }
> }
> 
> ```

Edited the code in my 1st reply , check this post 2 @suresh_u

---

<div class="post-metadata">

### Author: ![suresh\_u](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/suresh_u/32/107394_2.png) [@suresh\_u](https://discuss.elastic.co/u/suresh_u)
#### Post date: [July 1, 2022, 6:58am UTC](https://discuss.elastic.co/t/regarding-date-filter-format/308626/9 "2022-07-01T06:58:06Z")

</div>

Getting the same rubyException.

I am sharing the log:

[2022-07-01T12:26:13,807][ERROR][logstash.filters.ruby][main][0793217f3704ffec438d3766e047cdb433cf2fd9ef5ebdd7a4afa73c63a6d898] Ruby exception occurred: no implicit conversion of LogStash::Timestamp into String {:class=\>"TypeError", :backtrace=\>["org/jruby/ext/date/RubyDate.java:1684:in `_strptime'", "org/jruby/ext/date/RubyDateTime.java:551:in `\_strptime'", "uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/date.rb:714:in `strptime'", "(ruby filter code):4:in `block in filter\_method'", "C:/Users/Suresh\_Ummiti/WorkingDirectory/Softwares/logstash-7.17.4/vendor/bundle/jruby/2.5.0/gems/logstash-filter-ruby-3.1.8/lib/logstash/filters/ruby.rb:96:in `inline_script'", "C:/Users/Suresh_Ummiti/WorkingDirectory/Softwares/logstash-7.17.4/vendor/bundle/jruby/2.5.0/gems/logstash-filter-ruby-3.1.8/lib/logstash/filters/ruby.rb:89:in `filter'", "C:/Users/Suresh\_Ummiti/WorkingDirectory/Softwares/logstash-7.17.4/logstash-core/lib/logstash/filters/base.rb:159:in `do_filter'", "C:/Users/Suresh_Ummiti/WorkingDirectory/Softwares/logstash-7.17.4/logstash-core/lib/logstash/filters/base.rb:178:in `block in multi\_filter'", "org/jruby/RubyArray.java:1821:in `each'", "C:/Users/Suresh_Ummiti/WorkingDirectory/Softwares/logstash-7.17.4/logstash-core/lib/logstash/filters/base.rb:175:in `multi\_filter'", "org/logstash/config/ir/compiler/AbstractFilterDelegatorExt.java:134:in `multi_filter'", "C:/Users/Suresh_Ummiti/WorkingDirectory/Softwares/logstash-7.17.4/logstash-core/lib/logstash/java_pipeline.rb:300:in `block in start\_workers'"]}

Could you please check @sudhagar_ramesh?

---

<div class="post-metadata">

### Author: ![sudhagar\_ramesh](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/sudhagar_ramesh/32/105673_2.png) [@sudhagar\_ramesh](https://discuss.elastic.co/u/sudhagar_ramesh)
#### Post date: [July 1, 2022, 7:08am UTC](https://discuss.elastic.co/t/regarding-date-filter-format/308626/10 "2022-07-01T07:08:56Z")

</div>

@suresh_u  
As that field is timestamp , we can't change format it like string using strftime thats the reason for ruby exception.  
Also **date filter** which you used is for converting strings to timestamps _only_.

Hence will use the grok pattern to get only the data from timestamp

```auto
filter
{
grok
{
match => {"message" => ["updatedDate" , "%{GREEDYDATA:updateDate}T%{GREEDYDATA:time}"]}
}
}

```

Keep Posted !!! Thanks!!!

---

<div class="post-metadata">

### Author: ![suresh\_u](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/suresh_u/32/107394_2.png) [@suresh\_u](https://discuss.elastic.co/u/suresh_u)
#### Post date: [July 1, 2022, 7:12am UTC](https://discuss.elastic.co/t/regarding-date-filter-format/308626/11 "2022-07-01T07:12:34Z")

</div>

thanks for the update. Let me try

---

<div class="post-metadata">

### Author: ![suresh\_u](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/suresh_u/32/107394_2.png) [@suresh\_u](https://discuss.elastic.co/u/suresh_u)
#### Post date: [July 1, 2022, 7:37am UTC](https://discuss.elastic.co/t/regarding-date-filter-format/308626/12 "2022-07-01T07:37:22Z")

</div>

thanks a lot @sudhagar_ramesh , it is working.

---

<div class="post-metadata">

### Author: ![suresh\_u](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/suresh_u/32/107394_2.png) [@suresh\_u](https://discuss.elastic.co/u/suresh_u)
#### Post date: [July 1, 2022, 7:44am UTC](https://discuss.elastic.co/t/regarding-date-filter-format/308626/13 "2022-07-01T07:44:46Z")

</div>

Hi @sudhagar_ramesh , one more POC.

**In my oracle DB, I have with timestamp like this: "createdDate" =\> 2022-04-02T17:00:44.339Z**  
**But in my previous elasticsearch index, having createdDate as "createdDate": "2022-04-02T17:00:44Z"**  
**How can we change the format in Logstash configuration?**

Thanks  
Suresh.

---

<div class="post-metadata">

### Author: ![sudhagar\_ramesh](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/sudhagar_ramesh/32/105673_2.png) [@sudhagar\_ramesh](https://discuss.elastic.co/u/sudhagar_ramesh)
#### Post date: [July 1, 2022, 7:47am UTC](https://discuss.elastic.co/t/regarding-date-filter-format/308626/14 "2022-07-01T07:47:43Z")

</div>

In that case try the ruby code if still facing issue, please raise a new case for assistance.

---

<div class="post-metadata">

### Author: ![suresh\_u](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/suresh_u/32/107394_2.png) [@suresh\_u](https://discuss.elastic.co/u/suresh_u)
#### Post date: [July 1, 2022, 7:51am UTC](https://discuss.elastic.co/t/regarding-date-filter-format/308626/15 "2022-07-01T07:51:39Z")

</div>

sure @sudhagar_ramesh . Thanks a lot

---

<div class="post-metadata">

### Author: ![Badger](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/badger/32/25190_2.png) [@Badger](https://discuss.elastic.co/u/Badger)
#### Post date: [July 1, 2022, 3:23pm UTC](https://discuss.elastic.co/t/regarding-date-filter-format/308626/16 "2022-07-01T15:23:36Z")

</div>

There is an [open issue](https://github.com/logstash-plugins/logstash-filter-date/issues/95#issuecomment-371041491) for this. The standard fix is to mutate+convert the timestamp into a string.

---

<div class="post-metadata">

### Author: ![suresh\_u](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/suresh_u/32/107394_2.png) [@suresh\_u](https://discuss.elastic.co/u/suresh_u)
#### Post date: [July 1, 2022, 3:50pm UTC](https://discuss.elastic.co/t/regarding-date-filter-format/308626/17 "2022-07-01T15:50:45Z")

</div>

thanks a lot @Badger. I will check this out.

---

<div class="post-metadata">

### Author: ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)
#### Post date: [July 29, 2022, 3:50pm UTC](https://discuss.elastic.co/t/regarding-date-filter-format/308626/18 "2022-07-29T15:50:57Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
