# Date Custom Field Timezone

**URL:** https://discuss.elastic.co/t/date-custom-field-timezone/108673
**Category:** Logstash
**Created:** [November 22, 2017, 8:52am UTC](https://discuss.elastic.co/t/date-custom-field-timezone/108673 "2017-11-22T08:52:12Z")
**Posts on this page:** 8
**Page:** 1

<div class="post-metadata">

### Author: ![MaikLinnemann](https://avatars.discourse-cdn.com/v4/letter/m/8c91f0/32.png) [@MaikLinnemann](https://discuss.elastic.co/u/MaikLinnemann)
#### Post date: [November 22, 2017, 8:52am UTC](https://discuss.elastic.co/t/date-custom-field-timezone/108673/1 "2017-11-22T08:52:12Z")

</div>

Dear Forum,

i have a config which is as follows:

filter {

```
if [type] == "nginx-default" {
    grok {
    patterns_dir => "/etc/logstash/patterns"
        match => ["message", "%{COMBINEDAPACHELOG}"]
    }

    date {
             match => ["timestamp", "dd/MMM/yyyy:HH:mm:ss +0100"]
             timezone => "CET"
             target => "logdatetime"
   }

```

}

When i look for example into Kibana Table, i see:

![grafik](https://us1.discourse-cdn.com/elastic/original/3X/e/b/eb62436cb55001dacdbcb8896b861dd764afad40.png)

Thats correct, as the Date/Time is the same as from the origin message! But when i look into JSON i get a value which differs exact an hour:

![grafik](https://us1.discourse-cdn.com/elastic/original/3X/d/0/d029b9d22e88b44db63db6a796c48e321c59fab4.png)

I believe its something about timezone or such. Can anyone help to get the correct values also in the JSON view!? I dont want to correct the values in kibana for view or fields, i want to have the values corrected with logstash, while its pushed into elastic, as i process the data later.

Thanks in advance,

regards

---

<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: [November 22, 2017, 9:06am UTC](https://discuss.elastic.co/t/date-custom-field-timezone/108673/2 "2017-11-22T09:06:29Z")

</div>

`@timestamp` is always UTC. This isn't configurable.

---

<div class="post-metadata">

### Author: ![MaikLinnemann](https://avatars.discourse-cdn.com/v4/letter/m/8c91f0/32.png) [@MaikLinnemann](https://discuss.elastic.co/u/MaikLinnemann)
#### Post date: [November 22, 2017, 9:22am UTC](https://discuss.elastic.co/t/date-custom-field-timezone/108673/3 "2017-11-22T09:22:05Z")

</div>

Well, ok, but how shoould i understand those:

![grafik](https://us1.discourse-cdn.com/elastic/original/3X/a/8/a8986042bb2dfaff2b7a5dc07e7acaa16d45548f.png)

@Timestamp UTC:

![grafik](https://us1.discourse-cdn.com/elastic/original/3X/8/d/8d6cd1665e7ef4a41d19dd70afdf31fbf3c9586e.png)

timestamp ETC:

![grafik](https://us1.discourse-cdn.com/elastic/original/3X/a/e/ae41c4d1676af012c2153d2fd9b8aaed033925a8.png)

logdatetime UTC:

![grafik](https://us1.discourse-cdn.com/elastic/original/3X/6/1/6196455ba96afc10a3c65cb2f40bff0f239eb48e.png)

Is there no way to have logdatetime in ETC?

---

<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: [November 22, 2017, 9:55am UTC](https://discuss.elastic.co/t/date-custom-field-timezone/108673/4 "2017-11-22T09:55:08Z")

</div>

You'd have to use a ruby filter. I think examples of that have been posted in the past.

---

<div class="post-metadata">

### Author: ![MaikLinnemann](https://avatars.discourse-cdn.com/v4/letter/m/8c91f0/32.png) [@MaikLinnemann](https://discuss.elastic.co/u/MaikLinnemann)
#### Post date: [November 22, 2017, 2:07pm UTC](https://discuss.elastic.co/t/date-custom-field-timezone/108673/5 "2017-11-22T14:07:08Z")

</div>

Hey Magnus,

i know there are examples but i cant get it to work. Can you give a hint why this is not working:

date {  
match =\> ["timestamp", "dd/MMM/yyyy:HH:mm:ss +0100"]  
target =\> "tempdate"  
}

```
    ruby {
         	 code => "event.set('logdatetime', event.get('tempdate').time.strftime('%Y-%m-%dT%H:%M:%S +0100'))" 	
         }    

```

![grafik](https://us1.discourse-cdn.com/elastic/original/3X/1/b/1b1897673553240014b1fcd40026221ffdebf8c8.png)

![grafik](https://us1.discourse-cdn.com/elastic/original/3X/3/4/34252645d96a8cbecd78743ff87c903fa74f38f1.png)

---

<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: [November 22, 2017, 2:11pm UTC](https://discuss.elastic.co/t/date-custom-field-timezone/108673/6 "2017-11-22T14:11:56Z")

</div>

You need to convert the timestamp to the local timezone. I don't know OTOH how to do that. Perhaps

```nohighlight
t = event.get('tempdate').time
t.localtime('+01:00')
event.set('logdatetime', t.strftime('%Y-%m-%dT%H:%M:%S +0100'))

```

works.

---

<div class="post-metadata">

### Author: ![MaikLinnemann](https://avatars.discourse-cdn.com/v4/letter/m/8c91f0/32.png) [@MaikLinnemann](https://discuss.elastic.co/u/MaikLinnemann)
#### Post date: [November 22, 2017, 3:10pm UTC](https://discuss.elastic.co/t/date-custom-field-timezone/108673/7 "2017-11-22T15:10:53Z")

</div>

Works. Made my Day, thanks. For someone else:

```
date {
              	 match => ["timestamp", "dd/MMM/yyyy:HH:mm:ss +0100"]
                 target => "tempdate"
        }
        
        ruby {
             	 code => "
             	 t = event.get('tempdate').time
				 t.localtime('+01:00')
				 event.set('logdatetime', t.strftime('%Y-%m-%dT%H:%M:%S +0100'))
				 "	
             }
```

---

<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: [December 20, 2017, 3:11pm UTC](https://discuss.elastic.co/t/date-custom-field-timezone/108673/8 "2017-12-20T15:11:13Z")

</div>

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