# Ruby date

**URL:** https://discuss.elastic.co/t/ruby-date/36283
**Category:** Logstash
**Created:** [December 3, 2015, 11:58am UTC](https://discuss.elastic.co/t/ruby-date/36283 "2015-12-03T11:58:10Z")
**Posts on this page:** 8
**Page:** 1

<div class="post-metadata">

### Author: ![vikas.saini](https://avatars.discourse-cdn.com/v4/letter/v/87869e/32.png) [@vikas.saini](https://discuss.elastic.co/u/vikas.saini)
#### Post date: [December 3, 2015, 11:58am UTC](https://discuss.elastic.co/t/ruby-date/36283/1 "2015-12-03T11:58:10Z")

</div>

I searched a lot but confused .

how can i check if a string is date or not in ruby 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: [December 3, 2015, 11:59am UTC](https://discuss.elastic.co/t/ruby-date/36283/2 "2015-12-03T11:59:56Z")

</div>

Your question would be easier to answer with more context. Why do you need to check in a ruby filter if a string contains a date?

---

<div class="post-metadata">

### Author: ![vikas.saini](https://avatars.discourse-cdn.com/v4/letter/v/87869e/32.png) [@vikas.saini](https://discuss.elastic.co/u/vikas.saini)
#### Post date: [December 3, 2015, 12:02pm UTC](https://discuss.elastic.co/t/ruby-date/36283/3 "2015-12-03T12:02:01Z")

</div>

because i am splitting a string like this  
f1=2015-08-09@f2=45@f3=alice

and then converting thier values accordingly do their data types .

like  
"f1":2015-08-09, //date  
"f2":45, //integer  
"f3":"alice" //text

---

<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: [December 3, 2015, 12:07pm UTC](https://discuss.elastic.co/t/ruby-date/36283/4 "2015-12-03T12:07:42Z")

</div>

And you can't use the date filter because you don't know all possible names of the date fields?

I'd try to parse the date and catch any parse exception so that I can fall back to e.g. a string. Are you going to perform date arithmetic on the parsed date, or why do you need a Date object?

---

<div class="post-metadata">

### Author: ![vikas.saini](https://avatars.discourse-cdn.com/v4/letter/v/87869e/32.png) [@vikas.saini](https://discuss.elastic.co/u/vikas.saini)
#### Post date: [December 3, 2015, 12:09pm UTC](https://discuss.elastic.co/t/ruby-date/36283/5 "2015-12-03T12:09:27Z")

</div>

I need date object because I would perform range query on date .  
And yes i don't know the date field name because i am extracting it from a string which can contain anything .

can you please suggest how to catch exception in ruby ,so that if its not a date it will give me the string as it is ?

---

<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: [December 3, 2015, 12:20pm UTC](https://discuss.elastic.co/t/ruby-date/36283/6 "2015-12-03T12:20:37Z")

</div>

> I need date object because I would perform range query on date .

What, inside the Ruby filter?

> can you please suggest how to catch exception in ruby ,so that if its not a date it will give me the string as it is ?

I'm not fluent in Ruby myself but I'm sure there are many Ruby tutorials and other online documents that explain the syntax and semantics of Ruby's exception handling.

---

<div class="post-metadata">

### Author: ![vikas.saini](https://avatars.discourse-cdn.com/v4/letter/v/87869e/32.png) [@vikas.saini](https://discuss.elastic.co/u/vikas.saini)
#### Post date: [December 3, 2015, 12:21pm UTC](https://discuss.elastic.co/t/ruby-date/36283/7 "2015-12-03T12:21:35Z")

</div>

Its ok magnus ! Thanks anyway

---

<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, 5:20am UTC](https://discuss.elastic.co/t/ruby-date/36283/8 "2017-07-06T05:20:08Z")

</div>


