# Find the number between two dates using ruby

**URL:** https://discuss.elastic.co/t/find-the-number-between-two-dates-using-ruby/57820
**Category:** Logstash
**Created:** [August 11, 2016, 12:59pm UTC](https://discuss.elastic.co/t/find-the-number-between-two-dates-using-ruby/57820 "2016-08-11T12:59:14Z")
**Posts on this page:** 9
**Page:** 1

<div class="post-metadata">

### Author: ![Ganesh2303](https://avatars.discourse-cdn.com/v4/letter/g/57b2e6/32.png) [@Ganesh2303](https://discuss.elastic.co/u/Ganesh2303)
#### Post date: [August 11, 2016, 12:59pm UTC](https://discuss.elastic.co/t/find-the-number-between-two-dates-using-ruby/57820/1 "2016-08-11T12:59:14Z")

</div>

HI,  
I want to find the days between to dates. I have written the code by using ruby in logstash but i didnt get the value. Can anyone help me to resolve it.

field1:August 8th 2016, 03:52:35.000  
field2:August 6th 2016, 03:52:35.000  
ruby {  
init =\> "require 'time'"  
code =\> "event['rdr\_dateDiff'] = event['field1'].to\_i - event['field2'].to\_i;"

```
}
```

---

<div class="post-metadata">

### Author: ![magnusbaeck](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/magnusbaeck/32/44943_2.png) [@magnusbaeck](https://discuss.elastic.co/u/magnusbaeck)
#### Post date: [August 11, 2016, 1:30pm UTC](https://discuss.elastic.co/t/find-the-number-between-two-dates-using-ruby/57820/2 "2016-08-11T13:30:03Z")

</div>

How are you populating `field1` and `field2`? With a date filter?

---

<div class="post-metadata">

### Author: ![Ganesh2303](https://avatars.discourse-cdn.com/v4/letter/g/57b2e6/32.png) [@Ganesh2303](https://discuss.elastic.co/u/Ganesh2303)
#### Post date: [August 11, 2016, 1:32pm UTC](https://discuss.elastic.co/t/find-the-number-between-two-dates-using-ruby/57820/3 "2016-08-11T13:32:34Z")

</div>

I didnt populate the date filter i'm just passing the 2 field into ruby code

---

<div class="post-metadata">

### Author: ![magnusbaeck](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/magnusbaeck/32/44943_2.png) [@magnusbaeck](https://discuss.elastic.co/u/magnusbaeck)
#### Post date: [August 11, 2016, 1:34pm UTC](https://discuss.elastic.co/t/find-the-number-between-two-dates-using-ruby/57820/4 "2016-08-11T13:34:53Z")

</div>

Yes, but where are the values coming from? What is the data type of the contents of the fields? Your example, "August 8th 2016, 03:52:35.000", looks like something that Kibana has formatted for you. Output from a `stdout { codec => rubydebug }` output would be helpful.

---

<div class="post-metadata">

### Author: ![Ganesh2303](https://avatars.discourse-cdn.com/v4/letter/g/57b2e6/32.png) [@Ganesh2303](https://discuss.elastic.co/u/Ganesh2303)
#### Post date: [August 11, 2016, 1:36pm UTC](https://discuss.elastic.co/t/find-the-number-between-two-dates-using-ruby/57820/5 "2016-08-11T13:36:52Z")

</div>

This is the format of date will get in codec ""2016-08-11T13:38:24.065Z"

---

<div class="post-metadata">

### Author: ![magnusbaeck](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/magnusbaeck/32/44943_2.png) [@magnusbaeck](https://discuss.elastic.co/u/magnusbaeck)
#### Post date: [August 11, 2016, 1:55pm UTC](https://discuss.elastic.co/t/find-the-number-between-two-dates-using-ruby/57820/6 "2016-08-11T13:55:55Z")

</div>

Okay. I suggest you use a date filter to parse those strings into the fields. Then you can perform date arithmetic in your ruby filter.

---

<div class="post-metadata">

### Author: ![Ganesh2303](https://avatars.discourse-cdn.com/v4/letter/g/57b2e6/32.png) [@Ganesh2303](https://discuss.elastic.co/u/Ganesh2303)
#### Post date: [August 11, 2016, 1:57pm UTC](https://discuss.elastic.co/t/find-the-number-between-two-dates-using-ruby/57820/7 "2016-08-11T13:57:51Z")

</div>

Can you give me the example for date filter

---

<div class="post-metadata">

### Author: ![magnusbaeck](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/magnusbaeck/32/44943_2.png) [@magnusbaeck](https://discuss.elastic.co/u/magnusbaeck)
#### Post date: [August 11, 2016, 1:59pm UTC](https://discuss.elastic.co/t/find-the-number-between-two-dates-using-ruby/57820/8 "2016-08-11T13:59:00Z")

</div>

Check the documentation for examples. The ISO8601 date pattern should work for you.

---

<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 6, 2017, 4:43am UTC](https://discuss.elastic.co/t/find-the-number-between-two-dates-using-ruby/57820/9 "2017-07-06T04:43:49Z")

</div>


