# Date Processor（日期处理器）

原文链接 : [https://www.elastic.co/guide/en/elasticsearch/reference/5.3/date-processor.html](https://www.elastic.co/guide/en/elasticsearch/reference/5.3/date-processor.html)

译文链接 : [http://www.apache.wiki/pages/viewpage.action?pageId=10027455](http://www.apache.wiki/pages/viewpage.action?pageId=10027455)

贡献者 : [那伊抹微笑](/display/~wangyangting)，[ApacheCN](/display/~apachecn)，[Apache中文网](/display/~apachechina)

从 **fields**（字段）中解析 **date**（日期），然后使用 **date**（日期）或 **timestamp**（时间戳）作为 **document**（文档）的 **timestamp**（时间戳）。默认情况下，该 **date processor**（日期处理器）添加所解析的 **date**（日期）作为一个名为 **@timestamp** 的 **filed**（字段）。您可以通过设置 **target_field** 配置参数来指定一个与之不同的 **field**（字段）。支持多个日期格式作为同一日期处理器定义的一部分。它们将被顺序使用以尝试解析 **date** **field**（日期字段）。按照同样的顺序它们将被定义为 **processor** **definition**（处理器定义）的一部分。

## Table 16. Date options（表 16\. 日期选项）

| Name（名称） | Required（必要的） | Default（默认值） | Description（描述） |
| --- | --- | --- | --- |
| **`field`** | **yes** | **-** | 要获取 **date**（日期）的 **field**（字段） |
| **`target_field`** | **no** | **@timestamp** | 用于存储所解析的 **date**（日期）的 **field**（字段）。 |
| **`formats`** | **yes** | **-** | 预期的 **date** **formats**（日期格式）的 **array**（数组）。可以是 **Joda** **pattern** 或者以下格式之一 : **ISO8601**，**UNIX**，**UNIX_MS** 或 **TAI64N**。 |
| **`timezone`** | **no** | **UTC** | 在解析 **date**（日期）时所使用的 **timezone**（时区）。 |
| **`locale`** | **no** | **ENGLISH** | 在解析 **date**（日期）时所使用的 **locale**，与解析的 **month names** 或 **week** **days** 有关。 |

下面是一个示例，它根据 **initial_date** 字段将其解析的日期添加到 **timestamp** 字段上去 : 

```
{
  "description" : "...",
  "processors" : [
    {
      "date" : {
        "field" : "initial_date",
        "target_field" : "timestamp",
        "formats" : ["dd/MM/yyyy hh:mm:ss"],
        "timezone" : "Europe/Amsterdam"
      }
    }
  ]
}
```