Time¶
This extension provides time related functionality such as getting current time, current date, manipulating/formatting dates, etc.
Features¶
-
Function returns the system time in
yyyy-MM-dd
format. -
Function returns system time in the
HH:mm:ss
format. -
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. -
Extracts the date part of a date or date-time and return it in
yyyy-MM-dd
format. -
Adds the specified time interval to a date.
-
Returns difference between two dates in days.
-
Formats the data in string or milliseconds format to the given date format.
-
Subtracts the specified time interval from the given date.
-
Extracts the day on which a given date falls.
-
Function extracts a date unit from the date.
-
timestampInMilliseconds (Function)
Returns the system time or the given time in milliseconds.
-
Function returns the system current time in UTC timezone with
yyyy-MM-dd HH:mm:ss
format.
currentDate¶
Function returns the system time in yyyy-MM-dd
format.
Syntax
<STRING> time:currentDate()
EXAMPLE 1
time:currentDate()
Returns the current date in the yyyy-MM-dd
format, such as 2019-06-21
.
currentTime¶
Function returns system time in the HH:mm:ss
format.
Syntax
<STRING> time:currentTime()
EXAMPLE 1
time:currentTime()
Returns the current date in the HH:mm:ss
format, such as 15:23:24
.
currentTimestamp¶
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.
Syntax
<STRING> time:currentTimestamp()
<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 |
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
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
date¶
Extracts the date part of a date or date-time and return it in yyyy-MM-dd
format.
Syntax
<STRING> time:date(<STRING> date.value, <STRING> date.format)
<STRING> time:date(<STRING> date.value)
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 | Yes | |
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 | Yes |
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¶
Adds the specified time interval to a date.
Syntax
<STRING> time:dateAdd(<STRING> date.value, <INT> expr, <STRING> unit)
<STRING> time:dateAdd(<LONG> timestamp.in.milliseconds, <INT> expr, <STRING> unit)
<STRING> time:dateAdd(<STRING> date.value, <INT> expr, <STRING> unit, <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 | Yes | Yes |
expr | The amount by which the selected part of the date should be incremented. For example 2 ,5 ,10 , etc. | INT | No | Yes | |
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 | Yes |
timestamp.in.milliseconds | The date value in milliseconds. For example, 1415712224000L . | - | LONG | Yes | Yes |
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¶
Returns difference between two dates in days.
Syntax
<INT> time:dateDiff(<STRING> date.value1, <STRING> date.value2, <STRING> date.format1, <STRING> date.format2)
<INT> time:dateDiff(<STRING> date.value1, <STRING> date.value2)
<INT> time:dateDiff(<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 | Yes |
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 | Yes |
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 | Yes |
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 | Yes |
timestamp.in.milliseconds1 | The first date value in milliseconds from the epoch. For example, 1415712224000L . | - | LONG | Yes | Yes |
timestamp.in.milliseconds2 | The second date value in milliseconds from the epoch. For example, 1415712224000L . | - | LONG | Yes | Yes |
EXAMPLE 1
time:dateDiff('2014-11-11 13:23:44', '2014-11-9 13:23:44', 'yyyy-MM-dd HH:mm:ss', '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¶
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
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¶
Subtracts the specified time interval from the given date.
Syntax
<STRING> time:dateSub(<STRING> date.value, <INT> expr, <STRING> unit)
<STRING> time:dateSub(<STRING> date.value, <INT> expr, <STRING> unit, <STRING> date.format)
<STRING> time:dateSub(<LONG> timestamp.in.milliseconds, <INT> expr, <STRING> unit)
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 |
expr | The amount by which the selected part of the date should be decremented. For example 2 ,5 ,10 , etc. | INT | No | Yes | |
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 | Yes |
timestamp.in.milliseconds | The date value in milliseconds. For example, 1415712224000L . | - | LONG | Yes | Yes |
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¶
Extracts the day on which a given date falls.
Syntax
<STRING> time:dayOfWeek(<STRING> date.value, <STRING> date.format)
<STRING> time:dayOfWeek(<STRING> date.value)
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 | Yes | |
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 | Yes |
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 extracts a date unit from the date.
Syntax
<INT> time:extract(<STRING> unit, <STRING> date.value)
<INT> time:extract(<STRING> unit, <STRING> date.value, <STRING> date.format)
<INT> time:extract(<STRING> unit, <STRING> date.value, <STRING> date.format, <STRING> locale)
<INT> time:extract(<LONG> timestamp.in.milliseconds, <STRING> unit)
<INT> time:extract(<LONG> timestamp.in.milliseconds, <STRING> unit, <STRING> locale)
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 | Yes |
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 | Yes |
timestamp.in.milliseconds | The date value in milliseconds. For example, 1415712224000L . | - | LONG | Yes | Yes |
locale | Represents a specific geographical, political or cultural region. For example en_US and fr_FR | Current default locale set in the Java Virtual Machine. | STRING | Yes | No |
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¶
Returns the system time or the given time in milliseconds.
Syntax
<LONG> time:timestampInMilliseconds()
<LONG> time:timestampInMilliseconds(<STRING> date.value, <STRING> date.format)
<LONG> time:timestampInMilliseconds(<STRING> date.value)
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 | Yes |
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 | Yes |
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 returns the system current time in UTC timezone with yyyy-MM-dd HH:mm:ss
format.
Syntax
<STRING> time:utcTimestamp()
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
.