This module contains functions for creating and manipulating dates.
To use this module, you must import it to your DataWeave code, for example,
by adding the line import * from dw::core::Dates to the header of your
DataWeave script.
Functions
atBeginningOfDay
atBeginningOfDay(dateTime: DateTime): DateTime
Returns a new DateTime value that changes the Time value in the input to the
beginning of the specified day.
The hours, minutes, and seconds in the input change to 00:00:00.
Parameters
| Name | Description |
|---|---|
|
The |
Example
This example changes the Time value within the DateTime input to the
beginning of the specified day.
Source
1
2
3
4
5
6
7
%dw 2.0
import * from dw::core::Dates
output application/json
---
{
"atBeginningOfDayDateTime": atBeginningOfDay(|2020-10-06T18:23:20.351-03:00|)
}
Output
1
2
3
{
"atBeginningOfDayDateTime": "2020-10-06T00:00:00-03:00"
}
atBeginningOfDay(localDateTime: LocalDateTime): LocalDateTime
Returns a new LocalDateTime value that changes the Time value within the
input to the start of the specified day.
The hours, minutes, and seconds in the input change to 00:00:00.
Parameters
| Name | Description |
|---|---|
|
The |
Example
This example changes the Time value within the LocalDateTime input to the
beginning of the specified day.
Source
1
2
3
4
5
6
7
%dw 2.0
import * from dw::core::Dates
output application/json
---
{
"atBeginningOfDayLocalDateTime": atBeginningOfDay(|2020-10-06T18:23:20.351|)
}
Output
1
2
3
{
"atBeginningOfDayLocalDateTime": "2020-10-06T00:00:00"
}
atBeginningOfHour
atBeginningOfHour(dateTime: DateTime): DateTime
Returns a new DateTime value that changes the Time value in the input to the
beginning of the specified hour.
The minutes and seconds in the input change to 00:00.
Parameters
| Name | Description |
|---|---|
|
The |
Example
This example changes the Time value within the DateTime input to the
beginning of the specified hour.
Source
1
2
3
4
5
6
7
%dw 2.0
import * from dw::core::Dates
output application/json
---
{
"atBeginningOfHourDateTime": atBeginningOfHour(|2020-10-06T18:23:20.351-03:00|)
}
Output
1
2
3
{
"atBeginningOfHourDateTime": "2020-10-06T18:00:00-03:00"
}
atBeginningOfHour(localDateTime: LocalDateTime): LocalDateTime
Returns a new LocalDateTime value that changes the Time value in the input to the
beginning of the specified hour.
The minutes and seconds in the input change to 00:00.
Parameters
| Name | Description |
|---|---|
|
The |
Example
This example changes the Time value within the LocalDateTime input to the
beginning of the specified hour.
Source
1
2
3
4
5
6
7
%dw 2.0
import * from dw::core::Dates
output application/json
---
{
"atBeginningOfHourLocalDateTime": atBeginningOfHour(|2020-10-06T18:23:20.351|)
}
Output
1
2
3
{
"atBeginningOfHourLocalDateTime": "2020-10-06T18:00:00"
}
atBeginningOfHour(localTime: LocalTime): LocalTime
Returns a new LocalTime value that changes its value in the input to the
beginning of the specified hour.
The minutes and seconds in the input change to 00:00.
Parameters
| Name | Description |
|---|---|
|
The |
Example
This example changes the LocalTime value to the
beginning of the specified hour.
Source
1
2
3
4
5
6
7
%dw 2.0
import * from dw::core::Dates
output application/json
---
{
"atBeginningOfHourLocalTime": atBeginningOfHour(|18:23:20.351|)
}
Output
1
2
3
{
"atBeginningOfHourLocalTime": "18:00:00"
}
atBeginningOfHour(time: Time): Time
Returns a new Time value that changes the input value to the
beginning of the specified hour.
The minutes and seconds in the input change to 00:00.
Parameters
| Name | Description |
|---|---|
|
The |
Example
This example changes the Time value to the beginning of the specified hour.
Source
1
2
3
4
5
6
7
%dw 2.0
import * from dw::core::Dates
output application/json
---
{
"atBeginningOfHourTime": atBeginningOfHour(|18:23:20.351-03:00|)
}
Output
1
2
3
{
"atBeginningOfHourTime": "18:00:00-03:00"
}
atBeginningOfMonth
atBeginningOfMonth(dateTime: DateTime): DateTime
Returns a new DateTime value that changes the Day value from the
input to the first day of the specified month. It also sets the Time value to 00:00:00.
The day and time in the input changes to 01T00:00:00.
Parameters
| Name | Description |
|---|---|
|
The |
Example
This example changes the Day value within the DateTime input to the
first day of the specified month and sets the Time value to 00:00:00.
Source
1
2
3
4
5
6
7
%dw 2.0
import * from dw::core::Dates
output application/json
---
{
"atBeginningOfMonthDateTime": atBeginningOfMonth(|2020-10-06T18:23:20.351-03:00|)
}
Output
1
2
3
{
"atBeginningOfMonthDateTime": "2020-10-01T00:00:00-03:00"
}
atBeginningOfMonth(localDateTime: LocalDateTime): LocalDateTime
Returns a new LocalDateTime value that changes the Day and LocalTime
values from the input to the beginning of the specified month.
The day and time in the input changes to 01T00:00:00.
Parameters
| Name | Description |
|---|---|
|
The |
Example
This example changes the Day and LocalTime values within the LocalDateTime
input to the beginning of the specified month.
Source
1
2
3
4
5
6
7
%dw 2.0
import * from dw::core::Dates
output application/json
---
{
"atBeginningOfMonthLocalDateTime": atBeginningOfMonth(|2020-10-06T18:23:20.351|)
}
Output
1
2
3
{
"atBeginningOfMonthLocalDateTime": "2020-10-01T00:00:00"
}
atBeginningOfMonth(date: Date): Date
Returns a new Date value that changes the Day value from the
input to the first day of the specified month.
The day in the input changes to 01.
Parameters
| Name | Description |
|---|---|
|
The |
Example
This example changes the Day value within the Date
input to the first day of the specified month.
Source
1
2
3
4
5
6
7
%dw 2.0
import * from dw::core::Dates
output application/json
---
{
atBeginningOfMonthDate: atBeginningOfMonth(|2020-10-06|)
}
Output
1
2
3
{
"atBeginningOfMonthDate": "2020-10-01"
}
atBeginningOfWeek
atBeginningOfWeek(dateTime: DateTime): DateTime
Returns a new DateTime value that changes the Day and Time values from the
input to the beginning of the first day of the specified week.
The function treats Sunday as the first day of the week.
Parameters
| Name | Description |
|---|---|
|
The |
Example
This example changes the Day and Time values (06T18:23:20.351) within
the DateTime input to the beginning of the first day of the specified week
(04T00:00:00).
Source
1
2
3
4
5
6
7
%dw 2.0
import * from dw::core::Dates
output application/json
---
{
atBeginningOfWeekDateTime: atBeginningOfWeek(|2020-10-06T18:23:20.351-03:00|)
}
Output
1
2
3
{
"atBeginningOfWeekDateTime": "2020-10-04T00:00:00-03:00"
}
atBeginningOfWeek(localDateTime: LocalDateTime): LocalDateTime
Returns a new LocalDateTime value that changes the Day and Time values from the
input to the beginning of the first day of the specified week.
The function treats Sunday as the first day of the week.
Parameters
| Name | Description |
|---|---|
|
The |
Example
This example changes the Day and Time values (06T18:23:20.351) within
the LocalDateTime input to the beginning of the first day of the specified week
(04T00:00:00).
Source
1
2
3
4
5
6
7
%dw 2.0
import * from dw::core::Dates
output application/json
---
{
atBeginningOfWeekLocalDateTime: atBeginningOfWeek(|2020-10-06T18:23:20.351|)
}
Output
1
2
3
{
"atBeginningOfWeekLocalDateTime": "2020-10-04T00:00:00"
}
atBeginningOfWeek(date: Date): Date
Returns a new Date value that changes the Date input
input to the first day of the specified week.
The function treats Sunday as the first day of the week.
Parameters
| Name | Description |
|---|---|
|
The |
Example
This example changes the Day value (06) within
the Date input to the first day of the week that contains 2020-10-06 (a Tuesday), which is 2020-10-04 (a Sunday).
The Day value changes from 06 to 04.
Source
1
2
3
4
5
6
7
%dw 2.0
import * from dw::core::Dates
output application/json
---
{
atBeginningOfWeekDate: atBeginningOfWeek(|2020-10-06|)
}
Output
1
2
3
{
"atBeginningOfWeekDate": "2020-10-04"
}
atBeginningOfYear
atBeginningOfYear(dateTime: DateTime): DateTime
Takes a DateTime value as input and returns a DateTime value for
the first day of the year specified in the input. It also sets the Time value to 00:00:00.
The month, day, and time in the input changes to 01-01T00:00:00.
Parameters
| Name | Description |
|---|---|
|
The |
Example
This example transforms the DateTime input (|2020-10-06T18:23:20.351-03:00|)
to the date of the first day of the Year value (2020) in the input.
Source
1
2
3
4
5
6
7
%dw 2.0
import * from dw::core::Dates
output application/json
---
{
atBeginningOfYearDateTime: atBeginningOfYear(|2020-10-06T18:23:20.351-03:00|)
}
Output
1
2
3
{
"atBeginningOfYearDateTime": "2020-01-01T00:00:00.000-03:00"
}
atBeginningOfYear(localDateTime: LocalDateTime): LocalDateTime
Takes a LocalDateTime value as input and returns a LocalDateTime value for
the first day of the year specified in the input. It also sets the Time value to 00:00:00.
The month, day, and time in the input changes to 01-01T00:00:00.
Parameters
| Name | Description |
|---|---|
|
The |
Example
This example transforms the LocalDateTime input (|2020-10-06T18:23:20.351|)
to the date of the first day of the Year value (2020) in the input.
Source
1
2
3
4
5
6
7
%dw 2.0
import * from dw::core::Dates
output application/json
---
{
atBeginningOfYearLocalDateTime: atBeginningOfYear(|2020-10-06T18:23:20.351|)
}
Output
1
2
3
{
"atBeginningOfYearLocalDateTime": "2020-01-01T00:00:00"
}
atBeginningOfYear(date: Date): Date
Takes a Date value as input and returns a Date value for
the first day of the year specified in the input.
The month and day in the input changes to 01-01.
Parameters
| Name | Description |
|---|---|
|
The |
Example
This example transforms Date input (|2020-10-06|) to the date of the
first day of the Year value (2020) in the input.
Source
1
2
3
4
5
6
7
%dw 2.0
import * from dw::core::Dates
output application/json
---
{
atBeginningOfYearDate: atBeginningOfYear(|2020-10-06|)
}
Output
1
2
3
{
"atBeginningOfYearDate": "2020-01-01"
}
date
date(parts: DateFactory): Date
Creates a Date value from values specified for year, month, and day fields.
Parameters
| Name | Description |
|---|---|
|
|
Example
This example shows how to create a value of type Date.
Source
1
2
3
4
5
6
7
%dw 2.0
import * from dw::core::Dates
output application/json
---
{
newDate: date({year: 2012, month: 10, day: 11})
}
Output
1
2
3
{
"newDate": "2012-10-11"
}
dateTime
dateTime(parts: DateTimeFactory): DateTime
Creates a DateTime value from values specified for year, month, day, hour,
minutes, seconds, and timezone fields.
Parameters
| Name | Description |
|---|---|
|
|
Example
This example shows how to create a value of type DateTime.
Source
1
2
3
4
5
6
7
%dw 2.0
import * from dw::core::Dates
output application/json
---
{
newDateTime: dateTime({year: 2012, month: 10, day: 11, hour: 12, minutes: 30, seconds: 40 , timeZone: |-03:00|})
}
Output
1
2
3
{
"newDateTime": "2012-10-11T12:30:40-03:00"
}
localDateTime
localDateTime(parts: LocalDateTimeFactory): LocalDateTime
Creates a LocalDateTime value from values specified for year, month, day,
hour, minutes, and seconds fields.
Parameters
| Name | Description |
|---|---|
|
|
Example
This example shows how to create a value of type LocalDateTime.
Source
1
2
3
4
5
6
7
%dw 2.0
import * from dw::core::Dates
output application/json
---
{
newLocalDateTime: localDateTime({year: 2012, month: 10, day: 11, hour: 12, minutes: 30, seconds: 40})
}
Output
1
2
3
{
"newLocalDateTime": "2012-10-11T12:30:40"
}
localTime
localTime(parts: LocalTimeFactory): LocalTime
Creates a LocalTime value from values specified for hour, minutes, and
seconds fields.
Parameters
| Name | Description |
|---|---|
|
|
Example
This example shows how to create a value of type LocalTime.
Source
1
2
3
4
5
6
7
%dw 2.0
import * from dw::core::Dates
output application/json
---
{
newLocalTime: localTime({ hour: 12, minutes: 30, seconds: 40})
}
Output
1
2
3
{
"newLocalTime": "12:30:40"
}
time
time(parts: TimeFactory): Time
Creates a Time value from values specified for hour, minutes, seconds, and
timezone fields.
Parameters
| Name | Description |
|---|---|
|
|
Example
This example shows how to create a value of type Time.
Source
1
2
3
4
5
6
7
%dw 2.0
import * from dw::core::Dates
output application/json
---
{
newTime: time({ hour: 12, minutes: 30, seconds: 40 , timeZone: |-03:00|})
}
Output
1
2
3
{
"newTime": "12:30:40-03:00"
}
today
today(): Date
Returns the date for today as a Date type.
Example
This example shows the output of today function.
Source
1
2
3
4
5
%dw 2.0
import * from dw::core::Dates
output application/json
---
today()
Output
1
"2021-05-15"
tomorrow
tomorrow(): Date
Returns the date for tomorrow as a Date type.
Example
This example shows the output of tomorrow function.
Source
1
2
3
4
5
%dw 2.0
import tomorrow from dw::core::Dates
output application/json
---
tomorrow()
Output
1
"2021-05-16"
yesterday
yesterday(): Date
Returns the date for yesterday as a Date type.
Example
This example shows the output of yesterday function.
Source
1
2
3
4
5
%dw 2.0
import * from dw::core::Dates
output application/json
---
yesterday()
Output
1
"2021-05-14"
Types
DateFactory
Type containing selectable day, month, and year keys and
corresponding Number values, such as {day: 21, month: 1, year: 2021}.
The fields accept a Number value. Numbers preceded by 0, such as 01,
are not valid.
1
{ day: Number, month: Number, year: Number }
DateTimeFactory
Type that combines DateFactory, LocalTimeFactory, and Zoned types. For example,
{day: 21, month: 1, year: 2021, hour: 8, minutes: 31, seconds: 55, timeZone : |-03:00|} as DateTimeFactory
is a valid DateTimeFactory value.
1
DateFactory & LocalTimeFactory & Zoned
LocalDateTimeFactory
Type that combines DateFactory and LocalTimeFactory types. For example,
{day: 21, month: 1, year: 2021, hour: 8, minutes: 31, seconds: 55, timeZone : |-03:00|} as LocalDateTimeFactory
is a valid LocalDateTimeFactory value. The timeZone field is optional.
1
DateFactory & LocalTimeFactory
LocalTimeFactory
Type containing selectable hour, minutes, and seconds keys and
corresponding Number values, such as {hour: 8, minutes: 31, seconds: 55}.
The fields accept any Number value.
1
{ hour: Number, minutes: Number, seconds: Number }
TimeFactory
Type that combines LocalTimeFactory and Zoned types. For example,
{hour: 8, minutes: 31, seconds: 55, timeZone : |-03:00|} as TimeFactory
is a valid TimeFactory value.
1
LocalTimeFactory & Zoned
Zoned
Type containing a selectable timeZone key and TimeZone value, such as
{ timezone : |-03:00|}.
1
{ timeZone: TimeZone }