Class DateExpressions
java.lang.Object
dev.morphia.aggregation.expressions.DateExpressions
Defines helper methods for the date expressions
- Since:
- 2.0
-
Method Summary
Modifier and TypeMethodDescriptionstatic DateDeltaExpression
Increments a Date object by a specified number of time units.static DateDiffExpression
Returns the difference between two dates.static DateFromParts
Constructs and returns a Date object given the date’s constituent properties.static DateFromString
Converts a date/time string to a date object.static DateDeltaExpression
dateSubtract
(Object startDate, long amount, TimeUnit unit) Decrements a Date object by a specified number of time units.static DateToParts
dateToParts
(Object date) Constructs and returns a Date object given the date’s constituent properties.static DateToString
Returns the date as a formatted string.static DateTruncExpression
Truncates a date.static Expression
dayOfMonth
(Object value) Returns the day of the month for a date as a number between 1 and 31.static Expression
Returns the day of the week for a date as a number between 1 (Sunday) and 7 (Saturday).static Expression
Returns the day of the year for a date as a number between 1 and 366 (leap year).static Expression
Returns the hour for a date as a number between 0 and 23.static IsoDates
isoDayOfWeek
(Object value) Returns the weekday number in ISO 8601 format, ranging from 1 (for Monday) to 7 (for Sunday).static IsoDates
Returns the week number in ISO 8601 format, ranging from 1 to 53.static IsoDates
isoWeekYear
(Object value) Returns the year number in ISO 8601 format.static Expression
milliseconds
(Object value) Returns the milliseconds of a date as a number between 0 and 999.static Expression
Returns the minute for a date as a number between 0 and 59.static Expression
Returns the month for a date as a number between 1 (January) and 12 (December).static Expression
Returns the seconds for a date as a number between 0 and 60 (leap seconds).static Expression
Converts a value to a date.static Expression
tsIncrement
(Object expression) Returns the incrementing ordinal from a timestamp as a long.static Expression
Returns the seconds from a timestamp as a long.static Expression
Returns the week number for a date as a number between 0 (the partial week that precedes the first Sunday of the year) and 53 (leap year).static Expression
Returns the year for a date as a number (e.g.
-
Method Details
-
dateAdd
Increments a Date object by a specified number of time units.- Parameters:
startDate
- The beginning date, in UTC, for the addition operation. The startDate can be any expression that resolves to a Date, a Timestamp, or an ObjectID.amount
- The number of units added to the startDate.unit
- The unit used to measure the amount of time added to the startDate.- Returns:
- the new expression
- Since:
- 2.3
- Since server release
- 5.0
- MongoDB documentation
- Aggregration Expression: $dateAdd
-
dateDiff
Returns the difference between two dates.- Parameters:
startDate
- The beginning date, in UTC, for the addition operation. The startDate can be any expression that resolves to a Date, a Timestamp, or an ObjectID.endDate
- The beginning date, in UTC, for the addition operation. The endDate can be any expression that resolves to a Date, a Timestamp, or an ObjectID.unit
- The unit used to measure the amount of time added to the startDate.- Returns:
- the new expression
- Since:
- 2.3
- Since server release
- 5.0
- MongoDB documentation
- Aggregration Expression: $dateDiff
-
dateFromParts
Constructs and returns a Date object given the date’s constituent properties.- Returns:
- the new expression
- MongoDB documentation
- Aggregration Expression: $dateFromParts
-
dateFromString
Converts a date/time string to a date object.- Returns:
- the new expression
- MongoDB documentation
- Aggregration Expression: $dateFromString
-
dateSubtract
Decrements a Date object by a specified number of time units.- Parameters:
startDate
- The beginning date, in UTC, for the subtraction operation. The startDate can be any expression that resolves to a Date, a Timestamp, or an ObjectID.amount
- The number of units subtracted to the startDate.unit
- The unit used to measure the amount of time subtracted to the startDate.- Returns:
- the new expression
- Since:
- 2.3
- Since server release
- 5.0
- MongoDB documentation
- Aggregration Expression: $dateSubtract
-
dateToParts
Constructs and returns a Date object given the date’s constituent properties.- Parameters:
date
- The input date for which to return parts.- Returns:
- the new expression
- MongoDB documentation
- Aggregration Expression: $dateToParts
-
dateToString
Returns the date as a formatted string.- Returns:
- the new expression
- MongoDB documentation
- Aggregration Expression: $dateToString
-
dateTrunc
Truncates a date.- Parameters:
date
- The date to truncate, specified in UTC. The date can be any expression that resolves to a Date, a Timestamp, or an ObjectID.unit
- The unit used to measure the amount of time added to the startDate.- Returns:
- the new expression
- Since:
- 2.3
- Since server release
- 5.0
- MongoDB documentation
- Aggregration Expression: $dateTrunc
-
dayOfMonth
Returns the day of the month for a date as a number between 1 and 31.- Parameters:
value
- the expression containing the date value- Returns:
- the new expression
- MongoDB documentation
- Aggregration Expression: $dayOfMonth
-
dayOfWeek
Returns the day of the week for a date as a number between 1 (Sunday) and 7 (Saturday).- Parameters:
value
- the expression containing the date value- Returns:
- the new expression
- MongoDB documentation
- Aggregration Expression: $dayOfWeek
-
dayOfYear
Returns the day of the year for a date as a number between 1 and 366 (leap year).- Parameters:
value
- the expression containing the date value- Returns:
- the new expression
- MongoDB documentation
- Aggregration Expression: $dayOfYear
-
hour
Returns the hour for a date as a number between 0 and 23.- Parameters:
value
- the expression containing the date value- Returns:
- the new expression
- MongoDB documentation
- Aggregration Expression: $hour
-
isoDayOfWeek
Returns the weekday number in ISO 8601 format, ranging from 1 (for Monday) to 7 (for Sunday).- Parameters:
value
- the expression containing the date value- Returns:
- the new expression
- MongoDB documentation
- Aggregration Expression: $isoDayOfWeek
-
isoWeek
Returns the week number in ISO 8601 format, ranging from 1 to 53. Week numbers start at 1 with the week (Monday through Sunday) that contains the year’s first Thursday.- Parameters:
value
- the expression containing the date value- Returns:
- the new expression
- MongoDB documentation
- Aggregration Expression: $isoWeek
-
isoWeekYear
Returns the year number in ISO 8601 format. The year starts with the Monday of week 1 (ISO 8601) and ends with the Sunday of the last week (ISO 8601).- Parameters:
value
- the expression containing the date value- Returns:
- the new expression
- MongoDB documentation
- Aggregration Expression: $isoWeekYear
-
milliseconds
Returns the milliseconds of a date as a number between 0 and 999.- Parameters:
value
- the expression containing the date value- Returns:
- the new expression
- MongoDB documentation
- Aggregration Expression: $millisecond
-
minute
Returns the minute for a date as a number between 0 and 59.- Parameters:
value
- the expression containing the date value- Returns:
- the new expression
- MongoDB documentation
- Aggregration Expression: $minute
-
month
Returns the month for a date as a number between 1 (January) and 12 (December).- Parameters:
value
- the expression containing the date value- Returns:
- the new expression
- MongoDB documentation
- Aggregration Expression: $month
-
second
Returns the seconds for a date as a number between 0 and 60 (leap seconds).- Parameters:
value
- the expression containing the date value- Returns:
- the new expression
- MongoDB documentation
- Aggregration Expression: $second
-
toDate
Converts a value to a date. If the value cannot be converted to a date, $toDate errors. If the value is null or missing, $toDate returns null.- Parameters:
value
- the expression containing the date value- Returns:
- the new expression
- MongoDB documentation
- Aggregration Expression: $toDate
-
tsIncrement
Returns the incrementing ordinal from a timestamp as a long.- Parameters:
expression
- the expression to use when incrementing- Returns:
- the new expression
- Since:
- 2.3
- Since server release
- 5.1
- MongoDB documentation
- Aggregration Expression: $tsIncrement
-
tsSecond
Returns the seconds from a timestamp as a long.- Parameters:
value
- the value to use- Returns:
- the new expression
- Since:
- 2.3
- Since server release
- 5.1
- MongoDB documentation
- Aggregration Expression: $tsSecond
-
week
Returns the week number for a date as a number between 0 (the partial week that precedes the first Sunday of the year) and 53 (leap year).- Parameters:
value
- the expression containing the date value- Returns:
- the new expression
- MongoDB documentation
- Aggregration Expression: $week
-
year
Returns the year for a date as a number (e.g. 2014).- Parameters:
value
- the expression containing the date value- Returns:
- the new expression
- MongoDB documentation
- Aggregration Expression: $year
-