dateFormat (Function)
Formats the data in string or milliseconds format to the given date format.
Syntax
<STRING> time:dateFormat(<STRING> date.value, <STRING> date.target.format, <STRING> date.source.format)
<STRING> time:dateFormat(<STRING> date.value, <STRING> date.target.format)
<STRING> time:dateFormat(<LONG> timestamp.in.milliseconds, <STRING> date.target.format)
Query Parameters
| Name | Description | Default Value | Possible Data Types | Optional | Dynamic |
|---|---|---|---|---|---|
| date.value | The value of the date. For example, 2014-11-11 13:23:44.657, 2014-11-11, 13:23:44.657. | - | STRING | Yes | Yes |
| date.target.format | The format of the date into which the date value needs to be converted. For example, yyyy/MM/dd HH:mm:ss. | STRING | No | Yes | |
| date.source.format | The format input date.value.For example, yyyy-MM-dd HH:mm:ss.SSS. | yyyy-MM-dd HH:mm:ss.SSS | STRING | Yes | Yes |
| timestamp.in.milliseconds | The date value in milliseconds from the epoch. For example, 1415712224000L. | - | LONG | Yes | Yes |
Example 1
SELECT time:dateFormat('2014/11/11 13:23:44', 'mm:ss', 'yyyy/MM/dd HH:mm:ss') AS formattedDate;
This query converts the date value '2014/11/11 13:23:44' from the format 'yyyy/MM/dd HH:mm:ss' to the target format 'mm:ss'. The output is '23:44'.
Example 2
SELECT time:dateFormat('2014-11-11 13:23:44', 'HH:mm:ss') AS formattedDate;
This query converts the date value '2014-11-11 13:23:44' using the default format 'yyyy-MM-dd HH:mm:ss' to the target format 'HH:mm:ss'. The output is '13:23:44'.
Example 3
SELECT time:dateFormat(1415692424000L, 'yyyy-MM-dd') AS formattedDate;
This query converts the timestamp value '1415692424000L' (in milliseconds) to a date string in the target format 'yyyy-MM-dd'. The output is '2014-11-11'.
Example 4
CREATE STREAM InputStream (inputDate string, targetFormat string, inputFormat string);
CREATE SINK STREAM OutputStream (formattedDate string);
@info(name = 'dateFormatStreamWorker')
INSERT INTO OutputStream
SELECT time:dateFormat(inputDate, targetFormat, inputFormat) AS formattedDate
FROM InputStream;
The dateFormatStreamWorker processes events from the InputStream, which contains a date string (inputDate), the target format (targetFormat), and the input format (inputFormat). It uses the time:dateFormat(inputDate, targetFormat, inputFormat) function to convert the date string from the input format to the target format. The query outputs the formatted date as the formattedDate attribute for each event to the OutputStream.