Class GDate

java.lang.Object
org.apache.xmlbeans.GDate
All Implemented Interfaces:
Serializable, GDateSpecification

public final class GDate
extends Object
implements GDateSpecification, Serializable
Represents an XML Schema-compatible Gregorian date.

There are many date types in XML Schema, and this type represents the natural union of all those types. A GDate can hold any subset of date fields (Year, Month, Day, Time, Timezone, or some combination). Wherever the specification provides guidance, the guidelines in the XML Schema 1.0 specification (plus published errata) are followed.

Instances may separately have values or no values for the year, month, day-of-month, and time-of-day. Not all operations are meaningful on all combinations.

See Also:
Serialized Form
  • Field Summary

    Fields inherited from interface org.apache.xmlbeans.GDateSpecification

    HAS_DAY, HAS_MONTH, HAS_TIME, HAS_TIMEZONE, HAS_YEAR
  • Constructor Summary

    Constructors 
    Constructor Description
    GDate​(int year, int month, int day, int hour, int minute, int second, BigDecimal fraction)
    Constructs a GDate with the specified year, month, day, hours, minutes, seconds, and optional fractional seconds, in an unspecified timezone.
    GDate​(int year, int month, int day, int hour, int minute, int second, BigDecimal fraction, int tzSign, int tzHour, int tzMinute)
    Constructs an absolute GDate with the specified year, month, day, hours, minutes, seconds, and optional fractional seconds, and in the timezone specified.
    GDate​(CharSequence string)
    Constructs a GDate based on a lexical representation.
    GDate​(Calendar calendar)
    Constructs a GDate based on a java.util.Calendar.
    GDate​(Date date)
    Constructs a GDate based on a java.util.Date.
    GDate​(GDateSpecification gdate)
    Constructs a GDate based on another GDateSpecification.
  • Method Summary

    Modifier and Type Method Description
    GDate add​(GDurationSpecification duration)
    Adds a duration to this GDate, and returns a new GDate.
    String canonicalString()
    The canonical string representation.
    int compareToGDate​(GDateSpecification datespec)
    Comparison to another GDate.
    boolean equals​(Object obj)
    GDate is an immutable class, and equality is computed based on its canonical value.
    int getBuiltinTypeCode()
    Returns the builtin type code for the shape of the information contained in this instance, or 0 if the instance doesn't contain information corresponding to a Schema type.
    XmlCalendar getCalendar()
    Retrieves the value of the current time as an XmlCalendar.
    Date getDate()
    Retrieves the value of the current time as a java.util.Date instance.
    int getDay()
    Gets the day-of-month.
    int getFlags()
    Returns a combination of flags indicating the information contained by this GDate.
    BigDecimal getFraction()
    Gets the fraction-of-second.
    int getHour()
    Gets the hour-of-day.
    int getJulianDate()
    Returns the Julian date corresponding to this Gregorian date.
    int getMillisecond()
    Gets the rounded millisecond value.
    int getMinute()
    Gets the minute-of-hour.
    int getMonth()
    Gets the month-of-year.
    int getSecond()
    Gets the second-of-minute.
    int getTimeZoneHour()
    Gets the time zone hour.
    int getTimeZoneMinute()
    Gets the time zone minutes.
    int getTimeZoneSign()
    Gets the time zone sign.
    int getYear()
    Gets the year.
    boolean hasDate()
    True if this date/time specification specifies a full date (year, month, day)
    boolean hasDay()
    True if this date/time specification specifies a day-of-month.
    int hashCode()
    Returns a hash code for this GDate.
    boolean hasMonth()
    True if this date/time specification specifies a month-of-year.
    boolean hasTime()
    True if this date/time specification specifies a time-of-day.
    boolean hasTimeZone()
    True if this date/time specification specifies a timezone.
    boolean hasYear()
    True if this date/time specification specifies a year.
    boolean isImmutable()
    Returns true: all GDate instances are immutable.
    boolean isValid()
    True if this GDate corresponds to a valid gregorian date value in XML schema.
    GDate subtract​(GDurationSpecification duration)
    Adds a duration to this GDate, and returns a new GDate.
    String toString()
    The natural string representation.

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • GDate

      public GDate​(CharSequence string)
      Constructs a GDate based on a lexical representation.
    • GDate

      public GDate​(int year, int month, int day, int hour, int minute, int second, BigDecimal fraction)
      Constructs a GDate with the specified year, month, day, hours, minutes, seconds, and optional fractional seconds, in an unspecified timezone.

      Note that by not specifying the timezone the GDate becomes partially unordered with respect to times that do have a specified timezone.

    • GDate

      public GDate​(int year, int month, int day, int hour, int minute, int second, BigDecimal fraction, int tzSign, int tzHour, int tzMinute)
      Constructs an absolute GDate with the specified year, month, day, hours, minutes, seconds, and optional fractional seconds, and in the timezone specified.

      If you wish to have a time or date that isn't in a specified timezone, then use the constructor that does not include the timezone arguments.

    • GDate

      public GDate​(Date date)
      Constructs a GDate based on a java.util.Date.

      The current offset of the default timezone is used as the timezone.

      For example, if eastern daylight time is in effect at the given date, the timezone on the east coast of the united states translates to GMT-05:00 (EST) + 1:00 (DT offset) == GMT-04:00.

    • GDate

      public GDate​(Calendar calendar)
      Constructs a GDate based on a java.util.Calendar.

      If the calendar does not have some fields set, the same absence of information is reflected in the GDate. Note that java.util.GregorianCalendar fills in all fields as soon as any are fetched, so constructing a GDate with the same calendar object twice may result in a different GDate because of a changed calendar. Note that org.apache.xmlbeans.XmlCalendar is stable if you re-get a set field, so it does not have the same problem.

    • GDate

      public GDate​(GDateSpecification gdate)
      Constructs a GDate based on another GDateSpecification.
  • Method Details