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
  • Method Details

    • dateAdd

      public static DateDeltaExpression dateAdd(Object 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(Object startDate, Object 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(Object 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(Object 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(Object 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 Expression dayOfMonth(Object 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 Expression dayOfWeek(Object 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 Expression dayOfYear(Object 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 Expression hour(Object 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(Object 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(Object 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(Object 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 Expression milliseconds(Object 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 Expression minute(Object 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 Expression month(Object 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 Expression second(Object 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 Expression toDate(Object 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(Object 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(Object value)
      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

      public static Expression week(Object 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 Expression year(Object 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