|
Supported Date Ranges:
You can use dates in the Gregorian calendar system only. Dates in the Julian calendar are not supported.
When values are validated against the Datetime data type, the does not compare them to an underlying calendar system. Instead, the application validates the values using regular expressions. This regular expression method checks for general Datetime validation and is fast to evaluate.
However, some values may follow the regular expression validation pattern but are not accurate dates. For example, every four years, February 29 is a valid date. When this date is validated against the Datetime data type, it may be detected as a valid value, while the date is changed in the application to be incremented to a close accurate date, such as March 1 in this example.
You can use the following tokens to change the format of a column of dates:
Letter | Date or Time Component | Presentation | Examples | |
---|---|---|---|---|
M | Month in year | Number | 1 | |
MM | Month in year | Number | 01 | |
MMMM | Month in year | Month | January | |
MMM | Month in year | Month | Jan | |
yy | Year | Number | 16 | |
yyyy | Year | Number | 2016 | |
D | Day in year | Number | 352 | |
d | Day in month | Number | 9 | |
dd | Day in a month | Number | 09 | |
EEE | Day in week (three-letter abbreviation) | Text | Wed | |
EEEE | Day in week | Text | Wednesday | |
h | Hour in day (1-12)
| Number | 2 | |
hh | Hour in am/pm (01-12)
| Number | 02 | |
H | Hour in day (1-12) | Number | 2 | |
HH | Hour in day (0-23) | Number | 20 | |
m | Minute in an hour | Number | 9 | |
mm | Minute in an hour | Number | 09 | |
s | Second in a minute | Number | 3 | |
ss | Second in a minute | Number | 03 | |
SSS | Millisecond | Number | 218 | |
X | Time zone | ISO 8601 time zone | -08:00 | |
a | AM/PM indicator | String | AM |
Tip: If your DateTime column contains data in multiple formats, you must change the format of the DateTime column to one format and then add a transformation to convert that data to the other format. When all formats of your source date values are converted to a single format, the application should infer the appropriate date and time format. |
Supported Separators:
ISO 8601 Time Zone Notes:
Support for timezone offset from UTC indicated by +hh:mm, +hhmm, or +hh. For example, the date '2013-11-18 11:55-04:00' is recognized as a DateTime value.
For more information on the available formats and examples of each one, see Datetime Formats (PDF).
For more information on supported date formatting strings, see DATEFORMAT Function.
For more information, see Supported Time Zone Values.
Datetime data typing involves the basic type definition, plus any supported formatting options. Depending on where the job is executed, there may be variation in how the Datetime data type is interpreted.
Some running environments may perform additional inference on the typing.
NOTE: During job execution on Spark, inputs of Datetime data type may result in row values being inferred for data type individually. For example, the String value |
If your Datetime data does not contain time zone information, by default:
This difference in how the values are treated can result in differences in Datetime-based calculations, such as the DATEDIF function.
Workarounds:
You can do one of the following:
Apply the following Spark property overrides:
"spark": "props": { ... "spark.driver.extraJavaOptions" : "-Duser.timezone=\"UTC\"", "spark.executor.extraJavaOptions" : "-Duser.timezone=\"UTC\"" } ... } |
For more information, see Spark Execution Properties Settings.