There also exist algebraic operators (+, -) to add or subtract dates.
Creates a date time from a string and a format. Example: toDate("2019/03/28 14:06:42", "yyyy/MM/dd HH:mm:ss")
Creates a new date with Unix timestamp (milliseconds since January 1, 1970 UTC)
Extracts the year part of the date
SELECT YEAR("12/24/13 5:30:10","M/d/y h:m:s") FROM Stream => 2013 |
Extracts the month part of the date
SELECT MONTH("12/24/13 5:30:10","M/d/y h:m:s") FROM Stream => 12 |
Returns the week number of the date
SELECT WEEK("12/24/13 5:30:10","M/d/y h:m:s") FROM Stream => 52 |
Extracts the day part of the date
SELECT DAY("12/24/13 5:30:10","M/d/y h:m:s") FROM Stream => 24 |
Returns the hour of the date
SELECT HOUR("12/24/13 5:30:10","M/d/y h:m:s") FROM Stream => 5 |
Returns the minute of the date
SELECT MINUTE("12/24/13 5:30:10","M/d/y h:m:s") FROM Stream => 30 |
Returns the second of the date
SELECT SECOND("12/24/13 5:30:10","M/d/y h:m:s") FROM Stream => 10 |
Returns the millisecond of the date
SELECT MILLISECOND("12/24/13 5:30:10.970","M/d/y h:m:s.SSS") FROM Stream => 970 |
Returns the week day index of the date (1
= Sunday, 2
= Monday, ..., 7
= Saturday)
SELECT WEEKDAY("12/24/13 5:30:10","M/d/y h:m:s") FROM Stream => 3 |
Synonym for day().
SELECT DAYOFMONTH("12/24/13 5:30:10","M/d/y h:m:s") FROM Stream => 24 |
Computes the number of years between the two dates.
Computes the number of months between the two dates.
Computes the number of days between the two dates.
Computes the number of hours between the two dates.
Computes the number of minutes between the two dates.
Computes the number of seconds between the two dates.
Computes the number of milliseconds between the two dates.
Computes the number of business days between the two dates.
Return the current system time specific date
Returns the difference, measured in milliseconds, between the current time and midnight, January 1, 1970 UTC
Returns the difference, measured in milliseconds, between the given date and midnight, January 1, 1970 UTC
Same as DateInMillis(d)
Returns the current value of the time source, in nanoseconds.
Returns the current stream time specific date
Converts the given date to a string value according to the given pattern.
Converts the given date to a string value according to the given pattern in the given timezone. (Using the functions from SimpleDateFormat).
Same as ToString, but evaluates Pattern only the first time (i.e. first pattern will be used for every data object)
You can set all values in a date individually with the setter functions:
setYear(Date date, int year), setMonth(Date date, int month), setDayOfMonth(Date date, int day), setHourOfDay(Date date, int hour), setMinute(Date date, int minute), setSecond(Date date, int second),setMilliSecond(Date date, int millisecond) .
Example:
setYear = MAP({ expressions = [ ['setYear(someDate, 2042)','inFuture'], ['setMinute(someDate, 42)','changedMinute'] ], keepinput = true }, plusHour ) |
If you want to add or substract a period to or from a date, you can work with Periods. Internally, they work with the Java Periods, hence, you can have a look at that class: https://docs.oracle.com/javase/8/docs/api/java/time/Period.html
Creates a time period
Adds a time period to a date. Note: you can have negative time periods, hence, you can also substract but don't need a substract sign.
Example:
baseInfo = MAP({ expressions = [ ['toDate("2019/03/28 14:06:42", "yyyy/MM/dd HH:mm:ss")', 'now'], ['toTimePeriod(-1,0,0)', 'oneYear'] ] }, input ) minusYear = MAP({ expressions = [ ['now + oneYear','oneYearAgo'] ], KEEPINPUT = true }, baseInfo ) |
If you want to add or substract a duration from a date, you can work with Durations. This is for adding days, hours, minutes, seconds, milliseconds and nanoseconds. If you want to take a closer look, see https://docs.oracle.com/javase/8/docs/api/java/time/Duration.html
Creates a duration by summing all the given values.
Adds a duration to a date. Note: you can have negative time durations, hence, you can also substract but don't need a substract sign.
Example:
baseInfo = MAP({ expressions = [ ['toDate("2019/03/28 14:06:42", "yyyy/MM/dd HH:mm:ss")', 'now'], ['toTimePeriod(-1,0,0)', 'oneYear'] ] }, input ) minusYear = MAP({ expressions = [ ['now + oneYear','oneYearAgo'], ['toTimeDuration(0,1,0,0,0,0)', 'oneHour'] ], KEEPINPUT = true }, baseInfo ) plusHour = MAP({ expressions = [ ['oneYearAgo + oneHour','oneYearAgoPlusOneHour'] ], KEEPINPUT = true }, minusYear ) |