Class DateExpressions
- java.lang.Object
-
- dev.morphia.aggregation.expressions.DateExpressions
-
public final class DateExpressions extends Object
Defines helper methods for the date expressions- Since:
- 2.0
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classDateExpressions.DateExpressionBase class for the date expressions
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static DateDeltaExpressiondateAdd(Expression startDate, long amount, TimeUnit unit)Increments a Date object by a specified number of time units.static DateDiffExpressiondateDiff(Expression startDate, Expression endDate, TimeUnit unit)Returns the difference between two dates.static DateFromPartsdateFromParts()Constructs and returns a Date object given the date’s constituent properties.static DateFromStringdateFromString()Converts a date/time string to a date object.static DateDeltaExpressiondateSubtract(Expression startDate, long amount, TimeUnit unit)Decrements a Date object by a specified number of time units.static DateToPartsdateToParts(Expression date)Constructs and returns a Date object given the date’s constituent properties.static DateToStringdateToString()Returns the date as a formatted string.static DateTruncExpressiondateTrunc(Expression date, TimeUnit unit)Truncates a date.static DateExpressions.DateExpressiondayOfMonth(Expression value)Returns the day of the month for a date as a number between 1 and 31.static DateExpressions.DateExpressiondayOfWeek(Expression value)Returns the day of the week for a date as a number between 1 (Sunday) and 7 (Saturday).static DateExpressions.DateExpressiondayOfYear(Expression value)Returns the day of the year for a date as a number between 1 and 366 (leap year).static DateExpressions.DateExpressionhour(Expression value)Returns the hour for a date as a number between 0 and 23.static IsoDatesisoDayOfWeek(Expression value)Returns the weekday number in ISO 8601 format, ranging from 1 (for Monday) to 7 (for Sunday).static IsoDatesisoWeek(Expression value)Returns the week number in ISO 8601 format, ranging from 1 to 53.static IsoDatesisoWeekYear(Expression value)Returns the year number in ISO 8601 format.static DateExpressions.DateExpressionmilliseconds(Expression value)Returns the milliseconds of a date as a number between 0 and 999.static DateExpressions.DateExpressionminute(Expression value)Returns the minute for a date as a number between 0 and 59.static DateExpressions.DateExpressionmonth(Expression value)Returns the month for a date as a number between 1 (January) and 12 (December).static DateExpressions.DateExpressionsecond(Expression value)Returns the seconds for a date as a number between 0 and 60 (leap seconds).static DateExpressions.DateExpressiontoDate(Expression value)Converts a value to a date.static ExpressiontsIncrement(Expression expression)Returns the incrementing ordinal from a timestamp as a long.static ExpressiontsSecond(Expression expression)Returns the seconds from a timestamp as a long.static DateExpressions.DateExpressionweek(Expression value)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 DateExpressions.DateExpressionyear(Expression value)Returns the year for a date as a number (e.g. 2014).
-
-
-
Method Detail
-
dateAdd
public static DateDeltaExpression dateAdd(Expression startDate, long amount, TimeUnit unit)
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
public static DateDiffExpression dateDiff(Expression startDate, Expression endDate, TimeUnit unit)
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
public static DateFromParts dateFromParts()
Constructs and returns a Date object given the date’s constituent properties.- Returns:
- the new expression
- MongoDB documentation
- Aggregration Expression: $dateFromParts
-
dateFromString
public static DateFromString dateFromString()
Converts a date/time string to a date object.- Returns:
- the new expression
- MongoDB documentation
- Aggregration Expression: $dateFromString
-
dateSubtract
public static DateDeltaExpression dateSubtract(Expression startDate, long amount, TimeUnit unit)
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
public static DateToParts dateToParts(Expression date)
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
public static DateToString dateToString()
Returns the date as a formatted string.- Returns:
- the new expression
- MongoDB documentation
- Aggregration Expression: $dateToString
-
dateTrunc
public static DateTruncExpression dateTrunc(Expression date, TimeUnit unit)
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
public static DateExpressions.DateExpression dayOfMonth(Expression value)
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
public static DateExpressions.DateExpression dayOfWeek(Expression value)
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
public static DateExpressions.DateExpression dayOfYear(Expression value)
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
public static DateExpressions.DateExpression hour(Expression value)
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
public static IsoDates isoDayOfWeek(Expression value)
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
public static IsoDates isoWeek(Expression value)
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
public static IsoDates isoWeekYear(Expression value)
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
public static DateExpressions.DateExpression milliseconds(Expression value)
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
public static DateExpressions.DateExpression minute(Expression value)
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
public static DateExpressions.DateExpression month(Expression value)
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
public static DateExpressions.DateExpression second(Expression value)
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
public static DateExpressions.DateExpression toDate(Expression value)
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
public static Expression tsIncrement(Expression expression)
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
public static Expression tsSecond(Expression expression)
Returns the seconds from a timestamp as a long.- Parameters:
expression- the expression to use- Returns:
- the new expression
- Since:
- 2.3
- Since server release
- 5.1
- MongoDB documentation
- Aggregration Expression: $tsSecond
-
week
public static DateExpressions.DateExpression week(Expression value)
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
public static DateExpressions.DateExpression year(Expression value)
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
-
-