Unify and manage your data

Date Value Standardizer

Learn how Date Value Standardizer converts date attribute values to a consistent format, type, time zone, and locale.

Date Value Standardizer is a cleanse function that normalizes date attribute values across formats and types. It reads values stored as text, dates, or epoch numbers, and returns them in the format and type that you choose. It applies the time zone and locale that you specify when it parses and when it writes the result.

Date Value Standardizer converts the format and the type in a single step. You can use it on its own in a cleanse chain, or as a step in a Cleanse Container.

Date Value Standardizer is available to all tenants and it doesn't require a feature flag. To use it, add DateValueStandardizer to your cleanse configuration. You can set it up through the L3 cleanse configuration only.

Input parameters

Use these parameters to describe the incoming value. Some parameters are required in specific combinations. For more information, see Configuration Rules.

ParameterDescriptionValues or examplesDefault
inputTypeThe type of the incoming value. For more information, see Input types.STRING, DATE, EPOCH, MILLISECONDSSTRING
inputFormatThe format of the incoming value. For more information, see Date patterns and locale.yyyy-MM-dd, MM/dd/yyyy, dd-MMM-yyyy HH:mm:ssNone
trimInputSpecifies whether Reltio trims the incoming value before it parses it.true, falsefalse
autoDetectFormatSpecifies whether Reltio detects the format of the incoming value. When true, Reltio considers only the formats listed in allowedInputFormats, and ignores inputFormat When false, Reltio uses the format specified in inputFormat. For more information, see Automatic format detection.true, falsefalse
allowedInputFormatsThe list of formats that Reltio considers when autoDetectFormat is true. Reltio tries the formats in the order that you list them. If autoDetectFormat is true, specify at least one format. An empty list fails configuration validation.A list of format patterns.None

Output parameters

Use these parameters to describe the standardized value.

ParameterDescriptionValues or examplesDefault
targetTypeThe type of the standardized value. If the type is DATE and you do not specify an output format, Reltio formats the value as yyyy-MM-dd. If the type is LONG, Reltio writes an epoch number.STRING, DATE, LONGSTRING
outputFormatThe format of the standardized value. For more information, see Date patterns and locale and Epoch values.yyyy-MM-dd, yyyy-MM-dd'T'HH:mm:ss, epoch, millisecondsNone

Parsing and conversion parameters

Use these parameters to control how Reltio interprets and converts the value.

ParameterDescriptionValues or examplesDefault
timezoneThe time zone applied when parsing and writing the value. For more information, see Time zones.UTC, America/New_York, Asia/KolkataUTC
localeThe locale applied when parsing and writing the value. The locale controls month and day names, such as Jan or janv.en_US, fr_FRen_US
epochUnitThe unit of an epoch value. It applies to both the incoming and the standardized value. For more information, see Epoch values.SECONDS, MILLISECONDSMILLISECONDS
defaultTimeThe time of day used when the incoming value has a date but no time, including partial dates. The format is HH:mm:ss.00:00:0000:00:00
allowPartialDateA pattern that defines the partial dates that Reltio accepts. For more information, see Partial dates.yyyy, yyyy-MMNone

Failure handling parameters

Use these parameters to control what happens when Reltio cannot parse a value.

ParameterDescriptionValues or examplesDefault
onParseFailureThe action to take when Reltio cannot parse a value. For more information, see Parse failure actions.KEEP_ORIGINAL, NULL, DEFAULT_VALUE, ERRORKEEP_ORIGINAL
defaultValueA date or string that Reltio uses when onParseFailure is DEFAULT_VALUE. Reltio writes the value exactly as you enter it and does not reformat it, so enter it in the output format.A date or a string.None

Configuration rules

Reltio rejects the configuration if any of the following is true:

  • inputType is STRING, autoDetectFormat is false, and inputFormat is missing.

  • targetType is STRING and outputFormat is missing. STRING is the default target type, so in most configurations you need to specify outputFormat.

  • targetType is LONG and outputFormat is anything other than empty, epoch, or milliseconds.

  • onParseFailure is DEFAULT_VALUE and defaultValue is missing.

  • inputType is MILLISECONDS and epochUnit is SECONDS.

  • autoDetectFormat is true and allowedInputFormats is empty.

Input types

The inputType parameter tells Reltio how to read the incoming value. The following table describes each type.

ValueBehavior
STRINGReads the value as text, using inputFormat or, if autoDetectFormat is true, the formats in allowedInputFormats. This is the default.
DATEAccepts an epoch value in milliseconds or a standard ISO date string. If the value is neither, Reltio falls back to inputFormat.
EPOCHReads the value as an epoch number in the unit that you set in epochUnit. Use EPOCH with epochUnit to read epoch values.
MILLISECONDSThe same as EPOCH with epochUnit set to MILLISECONDS. Setting epochUnit to SECONDS with this type is invalid.

Epoch values

The epochUnit parameter applies to both the incoming and the standardized value. The following outputFormat values write an epoch number:

  • milliseconds: Always writes the value in milliseconds.

  • epoch: Writes the value in the unit set by epochUnit. When targetType is LONG and outputFormat is empty, Reltio also writes the value in the unit set by epochUnit.

Date patterns and locale

Date patterns follow the Java date format rules, and patterns are case-sensitive. For example, MM means month and mm means minutes. Reltio does not correct invalid dates. A value such as 2026-02-30 fails to parse and follows the action that you set in onParseFailure.

The locale parameter controls month and day names. For example, with en_US the month name is Jan, and with fr_FR it's janv.

Time zones

Reltio reads values that do not include a time zone in the time zone that you set in timezone. Reltio converts values that include a time zone to the configured time zone.

Note: Converting a value to the configured time zone can change the date. For example, if timezone is UTC, the value 2026-01-01T02:00:00+05:30 becomes 2025-12-31.

Automatic format detection

When autoDetectFormat is true, Reltio tries each format in allowedInputFormats in the order that you list them and uses the first format that matches the value. The inputFormat and allowPartialDate parameters have no effect when autoDetectFormat is true.

CAUTION: Some formats can match the same value. For example, MM/dd/yyyy and dd/MM/yyyy both match 03/04/1990, but they return different dates. Because the first match wins, the order of the list decides the result. List the formats in the order that you want Reltio to try them, and avoid listing formats that overlap.

Partial dates

Use allowPartialDate to accept values that contain only part of a date. Reltio uses this pattern only when inputFormat does not match the value. Reltio fills in the missing parts with January 1, and with the time from defaultTime. For example, if the pattern is yyyy, the value 1990 becomes 1990-01-01. The parameter does not apply when autoDetectFormat is on.

Parse failure actions

Use onParseFailure to control what Reltio does with a value that it cannot parse. A time that does not exist because of a daylight saving time change is also treated as a parse failure. The following table describes each action.

ValueBehavior
KEEP_ORIGINALKeeps the original value. This is the default.
NULLSets the value to null.
DEFAULT_VALUEUses the value of defaultValue. You must specify defaultValue.
ERRORTreats the cleanse as failed. If Date Value Standardizer runs as a step in a Cleanse Container, the container fails and Reltio writes nothing to the profile. If it runs on its own or in a regular chain, Reltio still saves the record with its original value and does not convert any date attribute in that step for that record, including valid ones. Reltio does not show an error message, and the failure appears only in the server logs. The next cleanse function in the chain runs only if proceedOnFailure is true.

Example of a Date Value Standardizer configuration

The following example converts the BirthDate and GraduationDate attributes from text in the MM/dd/yyyy format to dates in the yyyy-MM-dd format, using the UTC time zone and the en_US locale. With this configuration, the value 03/15/1990 becomes 1990-03-15.

{
  "cleanseFunction": "DateValueStandardizer",
  "mapping": {
    "inputMapping": [
      {
        "attribute": "configuration/entityTypes/Individual/attributes/BirthDate",
        "cleanseAttribute": "BirthDate"
      },
      {
        "attribute": "configuration/entityTypes/Individual/attributes/GraduationDate",
        "cleanseAttribute": "GraduationDate"
      }
    ],
    "outputMapping": [
      {
        "attribute": "configuration/entityTypes/Individual/attributes/BirthDate",
        "cleanseAttribute": "BirthDate"
      },
      {
        "attribute": "configuration/entityTypes/Individual/attributes/GraduationDate",
        "cleanseAttribute": "GraduationDate"
      }
    ]
  },
  "params": {
    "inputType": "STRING",
    "inputFormat": "MM/dd/yyyy",
    "targetType": "DATE",
    "outputFormat": "yyyy-MM-dd",
    "timezone": "UTC",
    "locale": "en_US"
  }
}

Example of converting an epoch number to a date

The following parameters convert an epoch number in seconds to a date in the yyyy-MM-dd format. The value 637459200 becomes 1990-03-15. The input mapping and output mapping are omitted.

"params": {
  "inputType": "EPOCH",
  "epochUnit": "SECONDS",
  "targetType": "DATE",
  "outputFormat": "yyyy-MM-dd",
  "timezone": "UTC"
}

Example of automatic format detection

The following parameters accept dates in any of three formats and write them in the yyyy-MM-dd format. Reltio tries the formats in the order listed. The values 1990-03-15, 03/15/1990, and 15-Mar-1990 all become 1990-03-15. The mapping is omitted.

"params": {
  "inputType": "STRING",
  "autoDetectFormat": true,
  "allowedInputFormats": ["yyyy-MM-dd", "MM/dd/yyyy", "dd-MMM-yyyy"],
  "targetType": "STRING",
  "outputFormat": "yyyy-MM-dd",
  "locale": "en_US"
}

Example of Date Value Standardizer in a Cleanse Container

The following step standardizes BirthDate inside a Cleanse Container. Add it to the steps list of the container.

{
  "function": "DateValueStandardizer",
  "params": {
    "inputType": "STRING",
    "inputFormat": "MM/dd/yyyy",
    "targetType": "STRING",
    "outputFormat": "yyyy-MM-dd"
  },
  "inputs": ["BirthDate"],
  "output": "BirthDate"
}