

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 日期和时间函数
<a name="recipe-actions.functions.date"></a>

以下为与配方操作配合使用的日期和时间函数的参考主题。

**Topics**
+ [CONVERT\$1TIMEZONE](recipe-actions.functions.CONVERT_TIMEZONE.md)
+ [DATE](recipe-actions.functions.DATE.md)
+ [DATE\$1ADD](recipe-actions.functions.DATEADD.md)
+ [DATE\$1DIFF](recipe-actions.functions.DATEDIFF.md)
+ [DATE\$1FORMAT](recipe-actions.functions.DATE_FORMAT.md)
+ [DATE\$1TIME](recipe-actions.functions.DATETIME.md)
+ [DAY](recipe-actions.functions.DAY.md)
+ [HOUR](recipe-actions.functions.HOUR.md)
+ [MILLISECOND](recipe-actions.functions.MILLISECOND.md)
+ [MINUTE](recipe-actions.functions.MINUTE.md)
+ [MONTH](recipe-actions.functions.MONTH.md)
+ [MONTH\$1NAME](recipe-actions.functions.MONTH_NAME.md)
+ [NOW](recipe-actions.functions.NOW.md)
+ [QUARTER](recipe-actions.functions.QUARTER.md)
+ [SECOND](recipe-actions.functions.SECOND.md)
+ [TIME](recipe-actions.functions.TIME.md)
+ [TODAY](recipe-actions.functions.TODAY.md)
+ [UNIX\$1TIME](recipe-actions.functions.UNIX_TIME.md)
+ [UNIX\$1TIME\$1FORMAT](recipe-actions.functions.UNIX_TIME_FORMAT.md)
+ [WEEK\$1DAY](recipe-actions.functions.WEEK_DAY.md)
+ [WEEK\$1NUMBER](recipe-actions.functions.WEEK_NUMBER.md)
+ [YEAR](recipe-actions.functions.YEAR.md)

# CONVERT\$1TIMEZONE
<a name="recipe-actions.functions.CONVERT_TIMEZONE"></a>

根据指定的时区将源列中的时间值转换到新列。

**参数**
+ `sourceColumn`：现有列的名称。源列的类型可以是 `string`、`date` 或 `timestamp`。
+ `fromTimeZone`：源值时区。如果未指定，默认时区为 UTC。
+ `toTimeZone`：要转换到的时区。如果未指定，默认时区为 UTC。
+ `targetColumn`：新创建的列的名称。
+ `dateTimeFormat`：可选。日期的格式字符串。如果未指定格式，则使用默认格式：`yyyy-mm-dd HH:MM:SS`。

**Example 示例**  
  

```
{
    "RecipeAction": {
        "Operation": "CONVERT_TIMEZONE",
        "Parameters": {
            "sourceColumn": "DATETIME Column 1",
            "fromTimeZone": "UTC+08:00",
            "toTimeZone": "UTC+08:00",
            "targetColumn": "DATETIME Column CONVERT_TIMEZONE",
            "dateTimeFormat": "yyyy-mm-dd HH:MM:SS"
        }
    }
}
```

# DATE
<a name="recipe-actions.functions.DATE"></a>

根据源列或提供的值创建一个包含日期值的新列。

**参数**
+ `dateTimeFormat`：可选。日期的格式字符串，如它出现在新列中的样子。如果未指定此字符串，则默认格式为 `yyyy-mm-dd HH:MM:SS`。
+ `dateTimeParameters`：JSON 编码字符串，表示日期和时间的组成部分：
  + `year`
  + `value`
  + `month`
  + `day`
  + `hour`
  + `second`

  每个组成部分都必须指定以下项之一：
  + `sourceColumn`：现有列的名称。
  + `value`：要计算的字符串。
+ `targetColumn`：新创建的列的名称。

**Example 示例**  
  

```
{
    "RecipeAction": {
        "Operation": "DATE",
        "Parameters": {
            "dateTimeFormat": "mm/dd/yy",
            "dateTimeParameters": "{\"year\":{\"value\":\"2019\"},\"month\":{\"value\":\"12\"},\"day\":{\"value\":\"31\"},\"hour\":{},\"minute\":{},\"second\":{}}",
            "targetColumn": "DATE Column 1"
        }
    }
}
```

# DATE\$1ADD
<a name="recipe-actions.functions.DATEADD"></a>

向源列或值中的日期添加年、月或日，然后创建包含结果的新列。

**参数**
+ `sourceColumn`：现有列的名称。
+ `value`：要计算的字符串。
+ `units`：用于调整日期的计量单位。有效值为 `MONTHS`、`YEARS`、`MILLISECONDS`、`QUARTERS`、`HOURS`、`MICROSECONDS`、`WEEKS`、`SECONDS`、`DAYS` 和 `MINUTES`。
+ `dateAddValue`：要添加到日期的 `units` 数量。
+ `dateTimeFormat`：可选。日期的格式字符串，如它出现在新列中的样子。如未指定，则默认格式为 `yyyy-mm-dd HH:MM:SS`。
+ `targetColumn`：新创建的列的名称。

**注意**  
您可以指定 `sourceColumn` 或 `value`，但不能同时指定两者。

**Example 示例**  
  

```
{
    "RecipeAction": {
        "Operation": "DATE_ADD",
        "Parameters": {
            "sourceColumn": "DATE Column 1",
            "units": "DAYS",
            "dateAddValue": "14",
            "dateTimeFormat": "mm/dd/yyyy",
            "targetColumn": "DATE Column 1_DATEADD"
        }
    }
}
```

# DATE\$1DIFF
<a name="recipe-actions.functions.DATEDIFF"></a>

创建一个包含两个日期之差的新列。

**参数**
+ `sourceColumn1`：现有列的名称。
+ `sourceColumn2`：现有列的名称。
+ `value1`：要计算的字符串。
+ `value2`：要计算的字符串。
+ `units`：描述日期之差的计量单位。有效值为 `MONTHS`、`YEARS`、`MILLISECONDS`、`QUARTERS`、`HOURS`、`MICROSECONDS`、`WEEKS`、`SECONDS`、`DAYS` 和 `MINUTES`。
+ `targetColumn`：新创建的列的名称。

**注意**  
您只能指定以下组合之一：  
`sourceColumn1` 和 `sourceColumn2`。
`sourceColumn1` 或 `sourceColumn2` 之一和 `value1` 或 `value2` 之一。
`value1` 和 `value2`。

**Example 示例**  
  

```
{
    "RecipeAction": {
        "Operation": "DATE_DIFF",
        "Parameters": {
            "value1": "2020-01-01",
            "value2": "2020-10-06",
            "units": "DAYS",
            "targetColumn": "DATEDIFF Column 1"
        }
    }
}
```

# DATE\$1FORMAT
<a name="recipe-actions.functions.DATE_FORMAT"></a>

根据表示日期的字符串，以特定格式创建一个包含日期的新列。

**参数**
+ `sourceColumn`：现有列的名称。
+ `value`：要计算的字符串。
+ `dateTimeFormat`：可选。日期的格式字符串，如它出现在新列中的样子。如未指定，则默认格式为 `yyyy-mm-dd HH:MM:SS`。
+ `targetColumn`：新创建的列的名称。
**注意**  
您可以指定 `sourceColumn` 或 `value`，但不能同时指定两者。

**Example 示例**  
  

```
{
    "RecipeAction": {
        "Operation": "DATE_FORMAT",
        "Parameters": {
            "sourceColumn": "DATE Column 1",
            "dateTimeFormat": "month*dd*yyyy",
            "targetColumn": "DATE Column 1_DATEFORMAT"
        }
    }
}
```
  

```
{
    "RecipeAction": {
        "Operation": "DATE_FORMAT",
        "Parameters": {
            "value": "22:10:47",
            "dateTimeFormat": "HH:MM:SS",
            "targetColumn": "formatted_date_value"
        }
    }
}
```

# DATE\$1TIME
<a name="recipe-actions.functions.DATETIME"></a>

根据源列或提供的值创建一个包含日期和时间值的新列。

**参数**
+ `dateTimeFormat`：可选。日期的格式字符串，如它出现在新列中的样子。如果未指定此字符串，则默认格式为 `yyyy-mm-dd HH:MM:SS`。
+ `dateTimeParameters`：JSON 编码字符串，表示日期和时间的组成部分：
  + `year`
  + `value`
  + `month`
  + `day`
  + `hour`
  + `second`

  每个组成部分都必须指定以下项之一：
  + `sourceColumn`：现有列的名称。
  + `value`：要计算的字符串。

**Example 示例**  
  

```
{
    "RecipeAction": {
        "Operation": "DATE_TIME",
        "Parameters": {
            "dateTimeFormat": "yyyy-mm-dd HH:MM:SS",
            "dateTimeParameters": "{\"year\":{\"value\":\"2010\"},\"month\":{\"value\":\"5\"},\"day\":{\"value\":\"21\"},\"hour\":{\"value\":\"13\"},\"minute\":{\"value\":\"34\"},\"second\":{\"value\":\"25\"}}",
            "targetColumn": "DATETIME Column 1"
        }
    }
}
```

# DAY
<a name="recipe-actions.functions.DAY"></a>

根据表示日期的字符串创建一个包含月份中某一天的新列。

**参数**
+ `sourceColumn`：现有列的名称。
+ `value`：要计算的字符串。
+ `targetColumn`：新创建的列的名称。

**注意**  
您可以指定 `sourceColumn` 或 `value`，但不能同时指定两者。

**Example 示例**  
  

```
{
    "RecipeAction": {
        "Operation": "DAY",
        "Parameters": {
            "sourceColumn": "DATETIME Column 1",
            "targetColumn": "DATETIME Column 1_DAY"
        }
    }
}
```

# HOUR
<a name="recipe-actions.functions.HOUR"></a>

根据表示日期的字符串创建一个包含小时值的新列。

**参数**
+ `sourceColumn`：现有列的名称。
+ `value`：要计算的字符串。
+ `targetColumn`：新创建的列的名称。

**注意**  
您可以指定 `sourceColumn` 或 `value`，但不能同时指定两者。

**Example 示例**  
  

```
{
    "RecipeAction": {
        "Operation": "HOUR",
        "Parameters": {
            "sourceColumn": "DATETIME Column 1",
            "targetColumn": "DATETIME Column 1_HOUR"
        }
    }
}
```

# MILLISECOND
<a name="recipe-actions.functions.MILLISECOND"></a>

根据源列或输入值创建一个包含毫秒值的新列。

**参数**
+ `sourceColumn`：现有列的名称。源列的类型可以是 `string`、`date` 或 `timestamp`。
+ `value`：要计算的字符串。
+ `targetColumn`：新创建的列的名称。

**注意**  
您可以指定 `sourceColumn` 或 `value`，但不能同时指定两者。

**Example 示例**  
  

```
{
    "RecipeAction": {
        "Operation": "MILLISECOND",
        "Parameters": {
            "sourceColumn": "DATETIME Column 1",
            "targetColumn": "DATETIME Column 1_MILLISECOND"
        }
    }
}
```

# MINUTE
<a name="recipe-actions.functions.MINUTE"></a>

根据表示日期的字符串创建一个包含分钟值的新列。

**参数**
+ `sourceColumn`：现有列的名称。
+ `value`：要计算的字符串。
+ `targetColumn`：新创建的列的名称。

**注意**  
您可以指定 `sourceColumn` 或 `value`，但不能同时指定两者。

**Example 示例**  
  

```
{
    "RecipeAction": {
        "Operation": "MINUTE",
        "Parameters": {
            "sourceColumn": "DATETIME Column 1",
            "targetColumn": "DATETIME Column 1_MINUTE"
        }
    }
}
```

# MONTH
<a name="recipe-actions.functions.MONTH"></a>

根据表示日期的字符串创建一个包含月份数字的新列。

**参数**
+ `sourceColumn`：现有列的名称。
+ `value`：要计算的字符串。
+ `targetColumn`：新创建的列的名称。

**注意**  
您可以指定 `sourceColumn` 或 `value`，但不能同时指定两者。

**Example 示例**  
  

```
{
    "RecipeAction": {
        "Operation": "MONTH",
        "Parameters": {
            "value": "2018-05-27",
            "targetColumn": "MONTH Column 1"
        }
    }
}
```

# MONTH\$1NAME
<a name="recipe-actions.functions.MONTH_NAME"></a>

根据表示日期的字符串创建一个包含月份名称的新列。

**参数**
+ `sourceColumn`：现有列的名称。
+ `value`：要计算的字符串。
+ `targetColumn`：新创建的列的名称。

**注意**  
您可以指定 `sourceColumn` 或 `value`，但不能同时指定两者。

**Example 示例**  
  

```
{
    "RecipeAction": {
        "Operation": "MONTH_NAME",
        "Parameters": {
            "value": "2018-05-27",
            "targetColumn": "MONTHNAME Column 1"
        }
    }
}
```

# NOW
<a name="recipe-actions.functions.NOW"></a>

以 `yyyy-mm-dd HH:MM:SS` 格式创建一个包含当前日期和时间的新列。

**参数**
+ `timeZone`：时区的名称。如果未指定任何时区，则默认值为通用协调时间（UTC）。
+ `targetColumn`：新创建的列的名称。

**Example 示例**  
  

```
{
    "RecipeAction": {
        "Operation": "NOW",
        "Parameters": {
            "timeZone": "US/Pacific",
            "targetColumn": "NOW Column 1"
        }
}
```

# QUARTER
<a name="recipe-actions.functions.QUARTER"></a>

根据表示日期的字符串创建一个包含基于日期的季度的新列。

**注意**  
在新列中将季度指定为 1、2、3 或 4。  
1 表示一月、二月和三月。
2 表示四月、五月和六月。
3 表示七月、八月和九月。
4 表示十月、十一月和十二月。

**参数**
+ `sourceColumn`：现有列的名称。源列的类型可以是 `string`、`date` 或 `timestamp`。
+ `value`：要计算的字符串。
+ `targetColumn`：新创建的列的名称。

**注意**  
您可以指定 `sourceColumn` 或 `value`，但不能同时指定两者。

**Example 示例**  
  

```
{
    "RecipeAction": {
        "Operation": "QUARTER",
        "Parameters": {
            "sourceColumn": "DATETIME Column 1",
            "targetColumn": "DATETIME Column 1_QUARTER"
        }
    }
}
```

# SECOND
<a name="recipe-actions.functions.SECOND"></a>

根据表示日期的字符串创建一个包含秒钟值的新列。

**参数**
+ `sourceColumn`：现有列的名称。
+ `value`：要计算的字符串。
+ `targetColumn`：新创建的列的名称。

**注意**  
您可以指定 `sourceColumn` 或 `value`，但不能同时指定两者。

**Example 示例**  
  

```
{
    "RecipeAction": {
        "Operation": "SECOND",
        "Parameters": {
            "sourceColumn": "DATETIME Column 1",
            "targetColumn": "DATETIME Column 1_SECOND"
        }
    }
}
```

# TIME
<a name="recipe-actions.functions.TIME"></a>

根据源列或提供的值创建一个包含时间值的新列。

**参数**
+ `dateTimeFormat`：可选。日期的格式字符串，如它出现在新列中的样子。如果未指定此字符串，则默认格式为 `yyyy-mm-dd HH:MM:SS`。
+ `dateTimeParameters`：JSON 编码字符串，表示日期和时间的组成部分：
  + `year`
  + `value`
  + `month`
  + `day`
  + `hour`
  + `second`

  每个组成部分都必须指定以下项之一：
  + `sourceColumn`：现有列的名称。
  + `value`：要计算的字符串。
+ `targetColumn`：新创建的列的名称。

**Example 示例**  
  

```
{
    "RecipeAction": {
        "Operation": "TIME",
        "Parameters": {
            "dateTimeFormat": "HH:MM:SS",
            "dateTimeParameters": "{\"year\":{},\"month\":{},\"day\":{},\"hour\":{\"sourceColumn\":\"rand_hour\"},\"minute\":{\"sourceColumn\":\"rand_minute\"},\"second\":{\"sourceColumn\":\"rand_second\"}}",
            "targetColumn": "TIME Column 1"
        }
    }
}
```

# TODAY
<a name="recipe-actions.functions.TODAY"></a>

以 `yyyy-mm-dd` 格式创建一个包含当前日期的新列。

**参数**
+ `timeZone`：时区的名称。如果未指定任何时区，则默认值为通用协调时间（UTC）。
+ `targetColumn`：新创建的列的名称。

**Example 示例**  
  

```
{
    "RecipeAction": {
        "Operation": "TODAY",
        "Parameters": {
            "timeZone": "US/Pacific",
            "targetColumn": "TODAY Column 1"
        }
    }
}
```

# UNIX\$1TIME
<a name="recipe-actions.functions.UNIX_TIME"></a>

根据源列或输入值创建一个新列，其中包含一个表示纪元时间（Unix 时间）的数字，即自 1970 年 1 月 1 日以来的秒数。如果可以推断出时区，则输出将采用该时区。否则，输出采用通用协调时间（UTC）。

**参数**
+ `sourceColumn`：现有列的名称。
+ `value`：要计算的字符串。
+ `targetColumn`：新创建的列的名称。

**注意**  
您可以指定 `sourceColumn` 或 `value`，但不能同时指定两者。

**Example 示例**  
  

```
{
    "RecipeAction": {
        "Operation": "UNIX_TIME",
        "Parameters": {
            "sourceColumn": "TIME Column 1",
            "targetColumn": "TIME Column 1_UNIXTIME"
        }
    }
}
```

# UNIX\$1TIME\$1FORMAT
<a name="recipe-actions.functions.UNIX_TIME_FORMAT"></a>

将源列或输入值的 Unix 时间转换为指定的数字日期格式，然后在新列中返回结果。

**参数**
+ `sourceColumn`：现有列的名称。
+ `value`：一个表示 Unix 纪元时间戳的整数。
+ `dateTimeFormat`：可选。日期的格式字符串，如它出现在新列中的样子。如未指定，则默认格式为 `yyyy-mm-dd HH:MM:SS`。
+ `targetColumn`：新创建的列的名称。

**注意**  
您可以指定 `sourceColumn` 或 `value`，但不能同时指定两者。

**Example 示例**  
  

```
{
    "RecipeAction": {
        "Operation": "UNIX_TIME_FORMAT",
        "Parameters": {
            "value": "1601936554",
            "dateTimeFormat": "yyyy-mm-dd HH:MM:SS",
            "targetColumn": "UNIXTIMEFORMAT Column 1"
        }
    }
}
```

# WEEK\$1DAY
<a name="recipe-actions.functions.WEEK_DAY"></a>

根据表示日期的字符串创建一个包含星期几的新列。

**参数**
+ `sourceColumn`：现有列的名称。
+ `value`：要计算的字符串。
+ `targetColumn`：新创建的列的名称。

**注意**  
您可以指定 `sourceColumn` 或 `value`，但不能同时指定两者。

**Example 示例**  
  

```
{
    "RecipeAction": {
        "Operation": "WEEK_DAY",
        "Parameters": {
            "sourceColumn": "DATETIME Column 1",
            "targetColumn": "DATETIME Column 1_WEEKDAY"
        }
    }
}
```

# WEEK\$1NUMBER
<a name="recipe-actions.functions.WEEK_NUMBER"></a>

根据表示日期的字符串创建一个包含周数（从 1 到 52）的新列。

**参数**
+ `sourceColumn`：现有列的名称。
+ `value`：要计算的字符串。
+ `targetColumn`：新创建的列的名称。

**注意**  
您可以指定 `sourceColumn` 或 `value`，但不能同时指定两者。

**Example 示例**  
  

```
{
    "RecipeAction": {
        "Operation": "WEEK_NUMBER",
        "Parameters": {
            "sourceColumn": "DATETIME Column 1",
            "targetColumn": "DATETIME Column 1_WEEK_NUMBER"
        }
    }
}
```

# YEAR
<a name="recipe-actions.functions.YEAR"></a>

根据表示日期的字符串创建一个包含年份的新列。

**参数**
+ `sourceColumn`：现有列的名称。
+ `value`：要计算的字符串。
+ `targetColumn`：新创建的列的名称。

**注意**  
您可以指定 `sourceColumn` 或 `value`，但不能同时指定两者。

**Example 示例**  
  

```
{
    "RecipeAction": {
        "Operation": "YEAR",
        "Parameters": {
            "value": "2019-06-12",
            "targetColumn": "YEAR Column 1"
        }
    }
}
```