Enum TemporalUnit
- java.lang.Object
-
- java.lang.Enum<TemporalUnit>
-
- org.hibernate.query.sqm.TemporalUnit
-
- All Implemented Interfaces:
Serializable,Comparable<TemporalUnit>
public enum TemporalUnit extends Enum<TemporalUnit>
A temporal field type which can occur as an argument toextract()or as the unit of a duration expression. A temporal field type may also occur as an argument totimestampadd()ortimestampdiff(), in which case it is interpreted as a unit of duration.Note that not every
TemporalUnitis legal duration unit. The units of a duration are:YEAR,MONTH,DAY,HOUR,MINUTE,SECOND,WEEK,QUARTER, andNANOSECOND.Further note that accepted unit types in
extract()vary according to the type of the second argument (date, time, or timestamp), and according to capabilities of the database platform.- See Also:
Dialect.extractPattern(TemporalUnit)
-
-
Enum Constant Summary
Enum Constants Enum Constant Description DATEThe date part of a timestamp, datetime, or offset datetime, as aLocalDate.DAYDay, defined to mean 24 hours when it occurs as a unit of duration, or to mean the calendar day of the month when passed toextract().DAY_OF_MONTHThe calendar day of the month, a synonym forDAY.DAY_OF_WEEKThe day of the week, from 1 (Sunday) to 7 (Saturday).DAY_OF_YEARThe day of the year, counting from 1.EPOCHAn internal value representing the Unix epoch, the elapsed seconds since January 1, 1970.HOURHour, defined to mean 60 minutes when it occurs as a unit of duration, or to mean the hour field in the range 0-23 (regular 24-hour time) when passed toextract().MINUTEMinute, defined to mean 60 seconds when it occurs as a unit of duration, or to mean the minute field in the range 0-59 when passed toextract().MONTHCalendar month.NANOSECONDNanosecond, the basic most granular unit of duration.NATIVEAn internal value representing the "native" resolution for date/time arithmetic of the underlying platform.OFFSETThe timezone offset of an offset datetime, as aZoneOffset.QUARTERQuarter, defined to mean three months.SECONDSecond, defined to mean 1000 nanoseconds when it occurs as a unit of duration, or to mean the second field in the range 0-59 when passed toextract().TIMEThe time part of a timestamp, datetime, or offset datetime, as aLocalTime.TIMEZONE_HOURThe hour field of theOFFSETin an offset datetime.TIMEZONE_MINUTEThe minute field of theOFFSETin an offset datetime.WEEKWeek, defined to mean 7 days when it occurs as a unit of duration, or to mean the ISO ISO-8601 week number when passed toextract().WEEK_OF_MONTHThe week of the month, where the first day of the month is in week 1, and a new week starts each Sunday.WEEK_OF_YEARThe week of the year, where the first day of the year is in week 1, and a new week starts each Sunday.YEARCalendar year.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description StringconversionFactor(TemporalUnit unit, Dialect dialect)booleanisDateUnit()Is this unit extractable from a date?booleanisTimeUnit()Is this unit extractable from a time?TemporalUnitnormalized()The unit that this unit "normalizes to", eitherNANOSECONDorMONTH, which represent the two basic types of duration: "physical" durations, and "calendar" durations.StringtoString()static TemporalUnitvalueOf(String name)Returns the enum constant of this type with the specified name.static TemporalUnit[]values()Returns an array containing the constants of this enum type, in the order they are declared.
-
-
-
Enum Constant Detail
-
YEAR
public static final TemporalUnit YEAR
Calendar year.
-
QUARTER
public static final TemporalUnit QUARTER
Quarter, defined to mean three months.
-
MONTH
public static final TemporalUnit MONTH
Calendar month.
-
WEEK
public static final TemporalUnit WEEK
Week, defined to mean 7 days when it occurs as a unit of duration, or to mean the ISO ISO-8601 week number when passed toextract(). This is different toWEEK_OF_YEAR.
-
DAY
public static final TemporalUnit DAY
Day, defined to mean 24 hours when it occurs as a unit of duration, or to mean the calendar day of the month when passed toextract().
-
HOUR
public static final TemporalUnit HOUR
Hour, defined to mean 60 minutes when it occurs as a unit of duration, or to mean the hour field in the range 0-23 (regular 24-hour time) when passed toextract().
-
MINUTE
public static final TemporalUnit MINUTE
Minute, defined to mean 60 seconds when it occurs as a unit of duration, or to mean the minute field in the range 0-59 when passed toextract().
-
SECOND
public static final TemporalUnit SECOND
Second, defined to mean 1000 nanoseconds when it occurs as a unit of duration, or to mean the second field in the range 0-59 when passed toextract(). The second field includes fractional seconds (it is a floating point value).
-
NANOSECOND
public static final TemporalUnit NANOSECOND
Nanosecond, the basic most granular unit of duration. Few databases support billions-of-seconds, but Java'sDurationtype does. When it occurs as an argument toextract(), the nanosecond field is interpreted to include full seconds.Note that the actual minimum granularity of a datetime varies by database platform (usually milliseconds or microseconds) so support for nanoseconds is emulated.
- See Also:
NATIVE
-
DAY_OF_WEEK
public static final TemporalUnit DAY_OF_WEEK
The day of the week, from 1 (Sunday) to 7 (Saturday).Not supported by every database platform.
-
DAY_OF_YEAR
public static final TemporalUnit DAY_OF_YEAR
The day of the year, counting from 1.Not supported by every database platform.
-
DAY_OF_MONTH
public static final TemporalUnit DAY_OF_MONTH
The calendar day of the month, a synonym forDAY.
-
WEEK_OF_MONTH
public static final TemporalUnit WEEK_OF_MONTH
The week of the month, where the first day of the month is in week 1, and a new week starts each Sunday.Supported on all platforms which natively support
DAY_OF_WEEK.
-
WEEK_OF_YEAR
public static final TemporalUnit WEEK_OF_YEAR
The week of the year, where the first day of the year is in week 1, and a new week starts each Sunday. This is different toWEEK.Supported on all platforms which natively support
DAY_OF_WEEKandDAY_OF_YEAR.
-
OFFSET
public static final TemporalUnit OFFSET
The timezone offset of an offset datetime, as aZoneOffset.
-
TIMEZONE_HOUR
public static final TemporalUnit TIMEZONE_HOUR
The hour field of theOFFSETin an offset datetime.
-
TIMEZONE_MINUTE
public static final TemporalUnit TIMEZONE_MINUTE
The minute field of theOFFSETin an offset datetime.
-
DATE
public static final TemporalUnit DATE
The date part of a timestamp, datetime, or offset datetime, as aLocalDate.
-
TIME
public static final TemporalUnit TIME
The time part of a timestamp, datetime, or offset datetime, as aLocalTime.
-
EPOCH
public static final TemporalUnit EPOCH
An internal value representing the Unix epoch, the elapsed seconds since January 1, 1970.
-
NATIVE
public static final TemporalUnit NATIVE
An internal value representing the "native" resolution for date/time arithmetic of the underlying platform. Usually the smallest unit of fractional seconds, either milliseconds or microseconds. We define this value in order to avoid repeatedly converting betweenNANOSECONDs and a unit that the database understands. On some platforms this is also used to avoid numeric overflow.
-
-
Method Detail
-
values
public static TemporalUnit[] values()
Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:for (TemporalUnit c : TemporalUnit.values()) System.out.println(c);
- Returns:
- an array containing the constants of this enum type, in the order they are declared
-
valueOf
public static TemporalUnit valueOf(String name)
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)- Parameters:
name- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
IllegalArgumentException- if this enum type has no constant with the specified nameNullPointerException- if the argument is null
-
conversionFactor
public String conversionFactor(TemporalUnit unit, Dialect dialect)
-
isDateUnit
public boolean isDateUnit()
Is this unit extractable from a date?
-
isTimeUnit
public boolean isTimeUnit()
Is this unit extractable from a time?
-
normalized
public TemporalUnit normalized()
The unit that this unit "normalizes to", eitherNANOSECONDorMONTH, which represent the two basic types of duration: "physical" durations, and "calendar" durations.
-
toString
public String toString()
- Overrides:
toStringin classEnum<TemporalUnit>
-
-