# Convert String to Date field

**URL:** <https://discuss.elastic.co/t/convert-string-to-date-field/328752>\
**Category:** Logstash\
**Created:** [March 28, 2023, 8:36pm UTC](https://discuss.elastic.co/t/convert-string-to-date-field/328752 "2023-03-28T20:36:36Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![rubhamra](https://avatars.discourse-cdn.com/v4/letter/r/858c86/32.png) [@rubhamra](https://discuss.elastic.co/u/rubhamra)\
**Post date:** [March 28, 2023, 8:36pm UTC](https://discuss.elastic.co/t/convert-string-to-date-field/328752/1 "2023-03-28T20:36:36Z")

</div>

I tried converting one of the string field to Date field , I can see in the logs that it could changed to date field because it's without quotes . but it's still showing the field is keyword.

Logstash Config

```auto
# "Submit Date" => "2022-04-11T17:10:55.000+0000",
 grok {
        match => ["[response][body][entries][values][Submit Date]", "^(?<[custom.date]>%{YEAR}-%{MONTHNUM}-%{MONTHDAY}[T]%{HOUR}:?%{MINUTE}(?::?%{SECOND})?)" ]
    }

    date {
    match => ["custom.date", "yyyy-MM-dd'T'HH:mm:ss.SSS"]
    target => "[response][body][entries][values][Submit Date]"
  }

```

OUPTPUT

```auto
   "SLA Res Result Duration" => nil,
                                          "Time Spent (min)" => 0,
                                "Change Request Prev Status" => "Draft",
                                               "Submit Date" => 2023-01-17T16:37:43.000Z,
                                              "TemplateGUID" => nil,
                                                "PortNumber" => nil,
                                       "Requester Contacted" => nil,

```

Please suggest what I am doing wrong.

Thanks

---

<div class="post-metadata">

**Author:** ![rubhamra](https://avatars.discourse-cdn.com/v4/letter/r/858c86/32.png) [@rubhamra](https://discuss.elastic.co/u/rubhamra)\
**Post date:** [March 29, 2023, 1:00pm UTC](https://discuss.elastic.co/t/convert-string-to-date-field/328752/2 "2023-03-29T13:00:32Z")

</div>

Any one please help, Elasticsearch version 8.6, using DataStream to index documents.

 ![image](https://us1.discourse-cdn.com/elastic/original/3X/7/0/70fa5ad6b7166fbf3e77b1775e72a7ab33e86f79.png)

---

<div class="post-metadata">

**Author:** ![Rios](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/rios/32/95745_2.png) [@Rios](https://discuss.elastic.co/u/Rios)\
**Post date:** [March 29, 2023, 2:11pm UTC](https://discuss.elastic.co/t/convert-string-to-date-field/328752/3 "2023-03-29T14:11:10Z")

</div>

Your data pattern accept string and the pattern should be recreated when you are sure that conversion is correct, for instance use ruby debug.

"Submit Date" =\> 2023-01-17T16:37:43.000Z is date field  
"Submit Date" =\> "2023-01-17T16:37:43.000Z" is string field

Try to create a new temporary index, there should be the date field by default because ES recognize data type.

---

<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:** [April 26, 2023, 2:11pm UTC](https://discuss.elastic.co/t/convert-string-to-date-field/328752/4 "2023-04-26T14:11:54Z")

</div>

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