# String Field contains duration/conversion

**URL:** <https://discuss.elastic.co/t/string-field-contains-duration-conversion/367262>\
**Category:** Logstash\
**Created:** [September 27, 2024, 6:10pm UTC](https://discuss.elastic.co/t/string-field-contains-duration-conversion/367262 "2024-09-27T18:10:13Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![erikg](https://avatars.discourse-cdn.com/v4/letter/e/91b2a8/32.png) [@erikg](https://discuss.elastic.co/u/erikg)\
**Post date:** [September 27, 2024, 6:10pm UTC](https://discuss.elastic.co/t/string-field-contains-duration-conversion/367262/1 "2024-09-27T18:10:13Z")

</div>

Hello,

I have this string field "time.connected"  
Examples:  
 ![image](https://us1.discourse-cdn.com/elastic/original/3X/c/b/cbb19c7c0392ecb675a2dda78570189b3226a14d.png)

How do I make this field in a duration field? is there a way to convert this?

---

<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:** [September 27, 2024, 6:34pm UTC](https://discuss.elastic.co/t/string-field-contains-duration-conversion/367262/2 "2024-09-27T18:34:01Z")

</div>

```auto
input {
  generator {
       message => "00:03:02"
	   count => 1
  }
 }
output {
  stdout {}         
}
filter {
	 ruby { code => "
	 duration = event.get('message')
	 seconds = duration.split(':').reverse.map.with_index.sum do |m, i| 
       m.to_i * 60 ** i
     end
	 event.set('duration', seconds) " }
}

```

Output:

`"duration" => 182`

---

<div class="post-metadata">

**Author:** ![erikg](https://avatars.discourse-cdn.com/v4/letter/e/91b2a8/32.png) [@erikg](https://discuss.elastic.co/u/erikg)\
**Post date:** [September 27, 2024, 7:06pm UTC](https://discuss.elastic.co/t/string-field-contains-duration-conversion/367262/3 "2024-09-27T19:06:39Z")

</div>

Thank you @Rios !
