> ## Documentation Index
> Fetch the complete documentation index at: https://www.integrate.io/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# ETL: ToDateCustomFormats

> Convert a datetime string to datetime data type using the first matching format from a list of custom patterns. Flexible date parsing for ETL jobs.

## Description

Convert input datetime string to datetime data type, using the first format that matches the string .

## Syntax

`ToDateCustomFormats(custom_string, format1 [, format2] [, ... , formatN])`

## Arguments

*custom\_string* - datetime value in a string expression in a custom format

*format\[1..N]* - format of the custom string. See below for formatting information.

## Format strings

| Symbol | Meaning                      | Presentation         | Examples                            |
| ------ | ---------------------------- | -------------------- | ----------------------------------- |
| G      | era                          | text                 | AD                                  |
| C      | century of era (>=0)         | number               | 20                                  |
| Y      | year of era (>=0)            | year                 | 1996                                |
|        |                              |                      |                                     |
| x      | weekyear                     | year                 | 1996                                |
| w      | week of weekyear             | number               | 27                                  |
| e      | day of week                  | number               | 2                                   |
| E      | day of week                  | text                 | Tuesday; Tue                        |
|        |                              |                      |                                     |
| y      | year                         | year                 | 1996                                |
| D      | day of year                  | number               | 189                                 |
| M      | month of year                | month                | July; Jul; 07                       |
| d      | day of month                 | number               | 10                                  |
|        |                              |                      |                                     |
| a      | halfday of day               | text                 | PM                                  |
| K      | hour of halfday (0\~11)      | number               | 0                                   |
| h      | clockhour of halfday (1\~12) | number               | 12                                  |
|        |                              |                      |                                     |
| H      | hour of day (0\~23)          | number               | 0                                   |
| k      | clockhour of day (1\~24)     | number               | 24                                  |
| m      | minute of hour               | number               | 30                                  |
| s      | second of minute             | number               | 55                                  |
| S      | fraction of second           | number               | 978                                 |
|        |                              |                      |                                     |
| z      | time zone                    | text                 | Pacific Standard Time; PST          |
| Z      | time zone offset/id          | zone                 | -0800; -08:00; America/Los\_Angeles |
|        |                              |                      |                                     |
| \\'    | escape character             | for a-z/A-Z          | T                                   |
| \\'\\' | single quote                 | literal single quote | '                                   |

Based on [http://joda-time.sourceforge.net/apidocs/org/joda/time/format/DateTimeFormat.html](http://joda-time.sourceforge.net/apidocs/org/joda/time/format/DateTimeFormat.html)

## Examples

`ToDateCustomFormats('1987-01-11 19:04', 'yyyy-MM-dd','yyyy-MM-dd HH:mm','yyyy-MM-dd HH:mm:ss')` returns  `1987-01-11T19:04:00Z`

`ToDateCustomFormats('2019-03-17T12:11:04 +06:00', 'yyyy-MM-dd\'T\'HH:mm:ss Z')` returns `2019-03-17T06:11:04.000Z`

## Return value datatype

datetime

## Impact of null value

If custom\_string is null, null is returned. If format strings are null, an exception is raised.
