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
.