API Docs - v5.0.2
Tested Siddhi Core version: 5.0.0
It could also support other Siddhi Core minor versions.
Time
currentDate (Function)
Function returns the system time in yyyy-MM-dd format.
<STRING> time:currentDate()
Examples EXAMPLE 1
time:currentDate()
Returns the current date in the yyyy-MM-dd format, such as 2019-06-21.
currentTime (Function)
Function returns system time in the HH:mm:ss format.
<STRING> time:currentTime()
Examples EXAMPLE 1
time:currentTime()
Returns the current date in the HH:mm:ss format, such as 15:23:24.
currentTimestamp (Function)
When no argument is provided, function returns the system current timestamp in yyyy-MM-dd HH:mm:ss format, and when a timezone is provided as an argument, it converts and return the current system time to the given timezone format.
<STRING> time:currentTimestamp(<STRING> timezone)
QUERY PARAMETERS
| Name | Description | Default Value | Possible Data Types | Optional | Dynamic |
|---|---|---|---|---|---|
| timezone | The timezone to which the current time need to be converted. For example, Asia/Kolkata, PST. Get the supported timezone IDs from here |
System timezone | STRING | Yes | No |
Examples EXAMPLE 1
time:currentTimestamp()
Returns current system time in yyyy-MM-dd HH:mm:ss format, such as 2019-03-31 14:07:00.
EXAMPLE 2
time:currentTimestamp('Asia/Kolkata')
Returns current system time converted to 'Asia/Kolkata' timezone yyyy-MM-dd HH:mm:ss format, such as 2019-03-31 19:07:00. Get the supported timezone IDs from [here](https://docs.oracle.com/javase/8/docs/api/java/time/ZoneId.html)
EXAMPLE 3
time:currentTimestamp('CST')
Returns current system time converted to 'CST' timezone yyyy-MM-dd HH:mm:ss format, such as 2019-03-31 02:07:00. Get the supported timezone IDs from [here](https://docs.oracle.com/javase/8/docs/api/java/time/ZoneId.html)
date (Function)
Extracts the date part of a date or date-time and return it in yyyy-MM-dd format.
<STRING> time:date(<STRING> date.value, <STRING> date.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 | No | No | |
| date.format | The format of the date value provided. For example, yyyy/MM/dd HH:mm:ss.SSS. |
yyyy-MM-dd HH:mm:ss.SSS |
STRING | Yes | No |
Examples EXAMPLE 1
time:date('2014/11/11 13:23:44', 'yyyy/MM/dd HH:mm:ss')
Extracts the date and returns 2014-11-11.
EXAMPLE 2
time:date('2014-11-23 13:23:44.345')
Extracts the date and returns 2014-11-13.
EXAMPLE 3
time:date('13:23:44', 'HH:mm:ss')
Extracts the date and returns 1970-01-01.
dateAdd (Function)
Adds the specified time interval to a date.
Syntax<STRING> time:dateAdd(<STRING> date.value, <INT> expr, <STRING> unit, <STRING> date.format, <LONG> timestamp.in.milliseconds)
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 | No |
| expr | The amount by which the selected part of the date should be incremented. For example 2 ,5 ,10, etc. |
INT | No | No | |
| unit | This is the part of the date that needs to be modified. For example, MINUTE, HOUR, MONTH, YEAR, QUARTER, WEEK, DAY, SECOND. |
STRING | No | No | |
| date.format | The format of the date value provided. For example, yyyy-MM-dd HH:mm:ss.SSS. |
yyyy-MM-dd HH:mm:ss.SSS |
STRING | Yes | No |
| timestamp.in.milliseconds | The date value in milliseconds. For example, 1415712224000L. |
- | LONG | Yes | No |
Examples EXAMPLE 1
time:dateAdd('2014-11-11 13:23:44.657', 5, 'YEAR', 'yyyy-MM-dd HH:mm:ss.SSS')
Adds five years to the given date value and returns 2019-11-11 13:23:44.657.
EXAMPLE 2
time:dateAdd('2014-11-11 13:23:44.657', 5, 'YEAR')
Adds five years to the given date value and returns 2019-11-11 13:23:44.657 using the default date.format yyyy-MM-dd HH:mm:ss.SSS.
EXAMPLE 3
time:dateAdd( 1415712224000L, 1, 'HOUR')
Adds one hour and 1415715824000 as a string.
dateDiff (Function)
Returns difference between two dates in days.
Syntax<INT> time:dateDiff(<STRING> date.value1, <STRING> date.value2, <STRING> date.format1, <STRING> date.format2, <LONG> timestamp.in.milliseconds1, <LONG> timestamp.in.milliseconds2)
QUERY PARAMETERS
| Name | Description | Default Value | Possible Data Types | Optional | Dynamic |
|---|---|---|---|---|---|
| date.value1 | The value of the first date parameter. For example, 2014-11-11 13:23:44.657, 2014-11-11, 13:23:44.657. |
- | STRING | Yes | No |
| date.value2 | The value of the second date parameter. For example, 2014-11-11 13:23:44.657, 2014-11-11 , 13:23:44.657. |
- | STRING | Yes | No |
| date.format1 | The format of the first date value provided. For example, yyyy-MM-dd HH:mm:ss.SSS. |
yyyy-MM-dd HH:mm:ss.SSS |
STRING | Yes | No |
| date.format2 | The format of the second date value provided. For example, yyyy-MM-dd HH:mm:ss.SSS. |
yyyy-MM-dd HH:mm:ss.SSS |
STRING | Yes | No |
| timestamp.in.milliseconds1 | The first date value in milliseconds from the epoch. For example, 1415712224000L. |
- | LONG | Yes | No |
| timestamp.in.milliseconds2 | The second date value in milliseconds from the epoch. For example, 1415712224000L. |
- | LONG | Yes | No |
Examples EXAMPLE 1
time:dateDiff('2014-11-11 13:23:44', 'yyyy-MM-dd HH:mm:ss', '2014-11-9 13:23:44', 'yyyy-MM-dd HH:mm:ss')
Returns the date difference between the two given dates as 2.
EXAMPLE 2
time:dateDiff('2014-11-13 13:23:44', '2014-11-9 13:23:44')
Returns the date difference between the two given dates as 4.
EXAMPLE 3
time:dateDiff(1415692424000L, 1412841224000L)
Returns the date difference between the two given dates as 33.
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, <LONG> timestamp.in.milliseconds)
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 | No |
| 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 | No | |
| 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 | No |
| timestamp.in.milliseconds | The date value in milliseconds from the epoch. For example, 1415712224000L. |
- | LONG | Yes | No |
Examples EXAMPLE 1
time:dateFormat('2014/11/11 13:23:44', 'mm:ss', 'yyyy/MM/dd HH:mm:ss')
Converts date based on the target date format mm:ss and returns 23:44.
EXAMPLE 2
time:dateFormat('2014-11-11 13:23:44', 'HH:mm:ss')
Converts date based on the target date format HH:mm:ss and returns 13:23:44.
EXAMPLE 3
time:dateFormat(1415692424000L, 'yyyy-MM-dd')
Converts date in millisecond based on the target date format yyyy-MM-dd and returns 2014-11-11.
dateSub (Function)
Subtracts the specified time interval from the given date.
Syntax<STRING> time:dateSub(<STRING> date.value, <INT> expr, <STRING> unit, <STRING> date.format, <LONG> timestamp.in.milliseconds)
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 | No |
| expr | The amount by which the selected part of the date should be decremented. For example 2 ,5 ,10, etc. |
INT | No | No | |
| unit | This is the part of the date that needs to be modified. For example, MINUTE, HOUR, MONTH, YEAR, QUARTER, WEEK, DAY, SECOND. |
STRING | No | No | |
| date.format | The format of the date value provided. For example, yyyy-MM-dd HH:mm:ss.SSS. |
yyyy-MM-dd HH:mm:ss.SSS |
STRING | Yes | No |
| timestamp.in.milliseconds | The date value in milliseconds. For example, 1415712224000L. |
- | LONG | Yes | No |
Examples EXAMPLE 1
time:dateSub('2019-11-11 13:23:44.657', 5, 'YEAR', 'yyyy-MM-dd HH:mm:ss.SSS')
Subtracts five years to the given date value and returns 2014-11-11 13:23:44.657.
EXAMPLE 2
time:dateSub('2019-11-11 13:23:44.657', 5, 'YEAR')
Subtracts five years to the given date value and returns 2014-11-11 13:23:44.657 using the default date.format yyyy-MM-dd HH:mm:ss.SSS.
EXAMPLE 3
time:dateSub( 1415715824000L, 1, 'HOUR')
Subtracts one hour and 1415712224000 as a string.
dayOfWeek (Function)
Extracts the day on which a given date falls.
Syntax<STRING> time:dayOfWeek(<STRING> date.value, <STRING> date.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 | No | No | |
| date.format | The format of the date value provided. For example, yyyy/MM/dd HH:mm:ss.SSS. |
yyyy-MM-dd HH:mm:ss.SSS |
STRING | Yes | No |
Examples EXAMPLE 1
time:date('2014/12/11 13:23:44', 'yyyy/MM/dd HH:mm:ss')
Extracts the date and returns Thursday.
EXAMPLE 2
time:date('2014-11-11 13:23:44.345')
Extracts the date and returns Tuesday.
extract (Function)
Function extracts a date unit from the date.
Syntax<INT> time:extract(<STRING> unit, <STRING> date.value, <STRING> date.format, <LONG> timestamp.in.milliseconds)
QUERY PARAMETERS
| Name | Description | Default Value | Possible Data Types | Optional | Dynamic |
|---|---|---|---|---|---|
| unit | This is the part of the date that needs to be modified. For example, MINUTE, HOUR, MONTH, YEAR, QUARTER, WEEK, DAY, SECOND. |
STRING | No | No | |
| 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 | No |
| date.format | The format of the date value provided. For example, yyyy-MM-dd HH:mm:ss.SSS. |
yyyy-MM-dd HH:mm:ss.SSS |
STRING | Yes | No |
| timestamp.in.milliseconds | The date value in milliseconds. For example, 1415712224000L. |
- | LONG | Yes | No |
Examples EXAMPLE 1
time:extract('YEAR', '2019/11/11 13:23:44.657', 'yyyy/MM/dd HH:mm:ss.SSS')
Extracts the year amount and returns 2019.
EXAMPLE 2
time:extract('DAY', '2019-11-12 13:23:44.657')
Extracts the day amount and returns 12.
EXAMPLE 3
time:extract(1394556804000L, 'HOUR')
Extracts the hour amount and returns 22.
timestampInMilliseconds (Function)
Returns the system time or the given time in milliseconds.
Syntax<LONG> time:timestampInMilliseconds(<STRING> date.value, <STRING> date.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. |
Current system time | STRING | Yes | No |
| date.format | The format of the date value provided. For example, yyyy/MM/dd HH:mm:ss.SSS. |
yyyy-MM-dd HH:mm:ss.SSS |
STRING | Yes | No |
Examples EXAMPLE 1
time:timestampInMilliseconds()
Returns the system current time in milliseconds.
EXAMPLE 2
time:timestampInMilliseconds('2007-11-30 10:30:19', 'yyyy-MM-DD HH:MM:SS')
Converts 2007-11-30 10:30:19 in yyyy-MM-DD HH:MM:SS format to milliseconds as 1170131400019.
EXAMPLE 3
time:timestampInMilliseconds('2007-11-30 10:30:19.000')
Converts 2007-11-30 10:30:19 in yyyy-MM-DD HH:MM:ss.SSS format to milliseconds as 1196398819000.
utcTimestamp (Function)
Function returns the system current time in UTC timezone with yyyy-MM-dd HH:mm:ss format.
<STRING> time:utcTimestamp()
Examples EXAMPLE 1
time:utcTimestamp()
Returns the system current time in UTC timezone with yyyy-MM-dd HH:mm:ss format, and a sample output will be like 2019-07-03 09:58:34.