Class DateTime

All Implemented Interfaces:
Drawable

public class DateTime extends Composite
Instances of this class are selectable user interface objects that allow the user to enter and modify date or time values.

Note that although this class is a subclass of Composite, it does not make sense to add children to it, or set a layout on it.

Styles:
DATE, TIME, CALENDAR, SHORT, MEDIUM, LONG, DROP_DOWN, CALENDAR_WEEKNUMBERS
Events:
DefaultSelection, Selection

Note: Only one of the styles DATE, TIME, or CALENDAR may be specified, and only one of the styles SHORT, MEDIUM, or LONG may be specified. The DROP_DOWN style is only valid with the DATE style.

IMPORTANT: This class is not intended to be subclassed.

Since:
3.3
See Also:
  • Field Details

    • day

      int day
    • month

      int month
    • year

      int year
    • hours

      int hours
    • minutes

      int minutes
    • seconds

      int seconds
    • textEntryHandle

      long textEntryHandle
      Major handles of this class. Note, these can vary or all equal each other depending on Date/Time/Calendar/Drop_down configuration used. See createHandle ()
    • spinButtonHandle

      long spinButtonHandle
      Major handles of this class. Note, these can vary or all equal each other depending on Date/Time/Calendar/Drop_down configuration used. See createHandle ()
    • containerHandle

      long containerHandle
      Major handles of this class. Note, these can vary or all equal each other depending on Date/Time/Calendar/Drop_down configuration used. See createHandle ()
    • calendarHandle

      long calendarHandle
      Major handles of this class. Note, these can vary or all equal each other depending on Date/Time/Calendar/Drop_down configuration used. See createHandle ()
    • editableHandle

      long editableHandle
      GTK4 field used to hold the main GtkEditable widget. Primarily used for styles SWT.DROP_DOWN invalid input: '&' SWT.TIME
    • calendar

      Calendar calendar
    • down

      Button down
    • currentField

      FieldPosition currentField
    • typeBuffer

      StringBuilder typeBuffer
    • typeBufferPos

      int typeBufferPos
    • firstTime

      boolean firstTime
    • dateFormat

      private DateFormat dateFormat
    • fg

      Color fg
    • bg

      Color bg
    • hasFocus

      boolean hasFocus
    • savedYear

      int savedYear
    • savedMonth

      int savedMonth
    • savedDay

      int savedDay
    • popupShell

      Shell popupShell
    • popupCalendar

      DateTime popupCalendar
    • popupListener

      Listener popupListener
    • popupFilter

      Listener popupFilter
    • prefferedSize

      Point prefferedSize
    • locale

      Locale locale
    • mouseEventListener

      Listener mouseEventListener
      Used when SWT.DROP_DOWN is set
    • DEFAULT_SHORT_DATE_FORMAT

      static final String DEFAULT_SHORT_DATE_FORMAT
      See Also:
    • DEFAULT_MEDIUM_DATE_FORMAT

      static final String DEFAULT_MEDIUM_DATE_FORMAT
      See Also:
    • DEFAULT_LONG_DATE_FORMAT

      static final String DEFAULT_LONG_DATE_FORMAT
      See Also:
    • DEFAULT_SHORT_TIME_FORMAT

      static final String DEFAULT_SHORT_TIME_FORMAT
      See Also:
    • DEFAULT_MEDIUM_TIME_FORMAT

      static final String DEFAULT_MEDIUM_TIME_FORMAT
      See Also:
    • DEFAULT_LONG_TIME_FORMAT

      static final String DEFAULT_LONG_TIME_FORMAT
      See Also:
    • MIN_YEAR

      static final int MIN_YEAR
      See Also:
    • MAX_YEAR

      static final int MAX_YEAR
      See Also:
    • SPACE_FOR_CURSOR

      static final int SPACE_FOR_CURSOR
      See Also:
    • mdYear

      private int mdYear
    • mdMonth

      private int mdMonth
  • Constructor Details

    • DateTime

      public DateTime(Composite parent, int style)
      Constructs a new instance of this class given its parent and a style value describing its behavior and appearance.

      The style value is either one of the style constants defined in class SWT which is applicable to instances of this class, or must be built by bitwise OR'ing together (that is, using the int "|" operator) two or more of those SWT style constants. The class description lists the style constants that are applicable to the class. Style bits are also inherited from superclasses.

      Parameters:
      parent - a composite control which will be the parent of the new instance (cannot be null)
      style - the style of control to construct
      Throws:
      IllegalArgumentException -
      • ERROR_NULL_ARGUMENT - if the parent is null
      SWTException -
      • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent
      • ERROR_INVALID_SUBCLASS - if this class is not an allowed subclass
      See Also:
  • Method Details

    • createText

      void createText()
    • getFormat

      DateFormat getFormat(Locale locale, int style)
    • checkStyle

      static int checkStyle(int style)
    • addSelectionListener

      public void addSelectionListener(SelectionListener listener)
      Adds the listener to the collection of listeners who will be notified when the control is selected by the user, by sending it one of the messages defined in the SelectionListener interface.

      widgetSelected is called when the user changes the control's value. widgetDefaultSelected is typically called when ENTER is pressed.

      Parameters:
      listener - the listener which should be notified
      Throws:
      IllegalArgumentException -
      • ERROR_NULL_ARGUMENT - if the listener is null
      SWTException -
      • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
      • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
      See Also:
    • checkSubclass

      protected void checkSubclass()
      Description copied from class: Widget
      Checks that this class can be subclassed.

      The SWT class library is intended to be subclassed only at specific, controlled points (most notably, Composite and Canvas when implementing new widgets). This method enforces this rule unless it is overridden.

      IMPORTANT: By providing an implementation of this method that allows a subclass of a class which does not normally allow subclassing to be created, the implementer agrees to be fully responsible for the fact that any such subclass will likely fail between SWT releases and will be strongly platform specific. No support is provided for user-written classes which are implemented in this fashion.

      The ability to subclass outside of the allowed SWT classes is intended purely to enable those not on the SWT development team to implement patches in order to get around specific limitations in advance of when those limitations can be addressed by the team. Subclassing should not be attempted without an intimate and detailed understanding of the hierarchy.

      Overrides:
      checkSubclass in class Composite
    • computeMaxTextSize

      Point computeMaxTextSize(int wHint, int hHint, boolean changed)
      Compute the native text entry size when the formatted text inside the entry is at the longest length possible. i.e. Assume DATE/HOUR field to be double digit, MONTH field for SWT.DATE | SWT.LONG is the longest text.
      Returns:
      text entry size to hold the longest possible formatted text.
    • computeSizeInPixels

      Point computeSizeInPixels(int wHint, int hHint, boolean changed)
      Overrides:
      computeSizeInPixels in class Composite
    • computeTrimInPixels

      Rectangle computeTrimInPixels(int x, int y, int width, int height)
      Overrides:
      computeTrimInPixels in class Scrollable
    • createHandle

      void createHandle(int index)
      Overrides:
      createHandle in class Composite
    • createSWTFixedHandle

      private void createSWTFixedHandle()
    • createHandleForCalendar

      private void createHandleForCalendar()
    • createHandleForDateWithDropDown

      private void createHandleForDateWithDropDown()
    • createHandleForDateTime

      private void createHandleForDateTime()
    • createDropDownButton

      void createDropDownButton()
    • createPopupShell

      void createPopupShell(int year, int month, int day)
    • setFontDescription

      void setFontDescription(long font)
      Overrides:
      setFontDescription in class Control
    • checkSubwindow

      boolean checkSubwindow()
      Overrides:
      checkSubwindow in class Composite
    • createWidget

      void createWidget(int index)
      Overrides:
      createWidget in class Scrollable
    • onDispose

      void onDispose(Event event)
    • showPopupShell

      private void showPopupShell(Point containerBounds, Point calendarSize, Rectangle coordsRelativeToScreen, Rectangle displayRect)
    • calculateCalendarYpos

      private int calculateCalendarYpos(Point containerBounds, Rectangle coordsRelativeToScreen, int height, Rectangle displayRect)
    • calculateCalendarXpos

      private int calculateCalendarXpos(Point calendarSize, Rectangle coordsRelativeToScreen, Rectangle displayRect, int width)
    • focusDayOnPopupCalendar

      private void focusDayOnPopupCalendar()
    • setCurrentDate

      private void setCurrentDate()
    • recreateCalendar

      private void recreateCalendar()
    • hideDropDownCalendar

      private void hideDropDownCalendar()
    • getComputeSizeString

      String getComputeSizeString(int style)
    • getFormattedString

      String getFormattedString()
    • getDate

      void getDate()
    • getDay

      public int getDay()
      Returns the receiver's date, or day of the month.

      The first day of the month is 1, and the last day depends on the month and year.

      Returns:
      a positive integer beginning with 1
      Throws:
      SWTException -
      • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
      • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
    • getHours

      public int getHours()
      Returns the receiver's hours.

      Hours is an integer between 0 and 23.

      Returns:
      an integer between 0 and 23
      Throws:
      SWTException -
      • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
      • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
    • getMinutes

      public int getMinutes()
      Returns the receiver's minutes.

      Minutes is an integer between 0 and 59.

      Returns:
      an integer between 0 and 59
      Throws:
      SWTException -
      • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
      • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
    • getMonth

      public int getMonth()
      Returns the receiver's month.

      The first month of the year is 0, and the last month is 11.

      Returns:
      an integer between 0 and 11
      Throws:
      SWTException -
      • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
      • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
    • getNameText

      String getNameText()
      Overrides:
      getNameText in class Widget
    • getSeconds

      public int getSeconds()
      Returns the receiver's seconds.

      Seconds is an integer between 0 and 59.

      Returns:
      an integer between 0 and 59
      Throws:
      SWTException -
      • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
      • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
    • getSpokenText

      String getSpokenText()
    • getYear

      public int getYear()
      Returns the receiver's year.

      The first year is 1752 and the last year is 9999.

      Returns:
      an integer between 1752 and 9999
      Throws:
      SWTException -
      • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
      • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
    • gtk_day_selected

      long gtk_day_selected(long widget)
      Overrides:
      gtk_day_selected in class Widget
    • gtk_day_selected_double_click

      long gtk_day_selected_double_click(long widget)
      Overrides:
      gtk_day_selected_double_click in class Widget
    • gtk_month_changed

      long gtk_month_changed(long widget)
      Overrides:
      gtk_month_changed in class Widget
    • eventHandle

      long eventHandle()
      Overrides:
      eventHandle in class Control
    • focusHandle

      long focusHandle()
      Overrides:
      focusHandle in class Composite
    • fontHandle

      long fontHandle()
      Overrides:
      fontHandle in class Control
    • dateTimeHandle

      private long dateTimeHandle()
    • hookEvents

      void hookEvents()
      Overrides:
      hookEvents in class Composite
    • hookEventsForCalendar

      private final void hookEventsForCalendar()
    • hookEventsForDateTimeSpinner

      private final void hookEventsForDateTimeSpinner()
    • hookEventsForMenu

      private final void hookEventsForMenu()
    • incrementField

      void incrementField(int amount)
    • hasAmPm

      private boolean hasAmPm()
    • isDropped

      boolean isDropped()
    • isCalendar

      private boolean isCalendar()
    • isDateWithDropDownButton

      private boolean isDateWithDropDownButton()
    • isDate

      private boolean isDate()
    • isTime

      private boolean isTime()
    • isReadOnly

      private boolean isReadOnly()
    • showWeekNumbers

      private boolean showWeekNumbers()
    • initAccessible

      void initAccessible()
    • isValidTime

      boolean isValidTime(int fieldName, int value)
    • isValidDate

      boolean isValidDate(int year, int month, int day)
    • popupCalendarEvent

      void popupCalendarEvent(Event event)
    • handleFocus

      void handleFocus(int type)
    • popupShellEvent

      void popupShellEvent(Event event)
    • removeSelectionListener

      public void removeSelectionListener(SelectionListener listener)
      Removes the listener from the collection of listeners who will be notified when the control is selected by the user.
      Parameters:
      listener - the listener which should no longer be notified
      Throws:
      IllegalArgumentException -
      • ERROR_NULL_ARGUMENT - if the listener is null
      SWTException -
      • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
      • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
      See Also:
    • selectField

      void selectField(DateFormat.Field field)
      selects the first occurrence of the given field
    • selectField

      void selectField(FieldPosition fieldPosition)
      Selects the given field at the given start/end coordinates
    • sendSelectionEvent

      void sendSelectionEvent()
    • setBackground

      public void setBackground(Color color)
      Description copied from class: Control
      Sets the receiver's background color to the color specified by the argument, or to the default system color for the control if the argument is null.

      Note: This operation is a hint and may be overridden by the platform.

      Note: The background color can be overridden by setting a background image.

      Overrides:
      setBackground in class Control
      Parameters:
      color - the new color (or null)
    • setBackgroundGdkRGBA

      void setBackgroundGdkRGBA(GdkRGBA rgba)
      Overrides:
      setBackgroundGdkRGBA in class Control
    • setBackgroundGdkRGBA

      void setBackgroundGdkRGBA(long context, long handle, GdkRGBA rgba)
      Overrides:
      setBackgroundGdkRGBA in class Control
    • setEnabled

      public void setEnabled(boolean enabled)
      Description copied from class: Control
      Enables the receiver if the argument is true, and disables it otherwise. A disabled control is typically not selectable from the user interface and draws with an inactive or "grayed" look.
      Overrides:
      setEnabled in class Control
      Parameters:
      enabled - the new enabled state
    • setFont

      public void setFont(Font font)
      Description copied from class: Control
      Sets the font that the receiver will use to paint textual information to the font specified by the argument, or to the default font for that kind of control if the argument is null.
      Overrides:
      setFont in class Control
      Parameters:
      font - the new font (or null)
    • setForegroundGdkRGBA

      void setForegroundGdkRGBA(GdkRGBA rgba)
      Overrides:
      setForegroundGdkRGBA in class Control
    • setForeground

      public void setForeground(Color color)
      Description copied from class: Control
      Sets the receiver's foreground color to the color specified by the argument, or to the default system color for the control if the argument is null.

      Note: This operation is a hint and may be overridden by the platform.

      Overrides:
      setForeground in class Control
      Parameters:
      color - the new color (or null)
    • setFieldOfInternalDataStructure

      void setFieldOfInternalDataStructure(FieldPosition field, int value)
    • setDate

      public void setDate(int year, int month, int day)
      Sets the receiver's year, month, and day in a single operation.

      This is the recommended way to set the date, because setting the year, month, and day separately may result in invalid intermediate dates.

      Parameters:
      year - an integer between 1752 and 9999
      month - an integer between 0 and 11
      day - a positive integer beginning with 1
      Throws:
      SWTException -
      • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
      • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
      Since:
      3.4
    • setDay

      public void setDay(int day)
      Sets the receiver's date, or day of the month, to the specified day.

      The first day of the month is 1, and the last day depends on the month and year. If the specified day is not valid for the receiver's month and year, then it is ignored.

      Parameters:
      day - a positive integer beginning with 1
      Throws:
      SWTException -
      • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
      • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
      See Also:
    • setHours

      public void setHours(int hours)
      Sets the receiver's hours.

      Hours is an integer between 0 and 23.

      Parameters:
      hours - an integer between 0 and 23
      Throws:
      SWTException -
      • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
      • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
    • setMenu

      public void setMenu(Menu menu)
      Description copied from class: Control
      Sets the receiver's pop up menu to the argument. All controls may optionally have a pop up menu that is displayed when the user requests one for the control. The sequence of key strokes, button presses and/or button releases that are used to request a pop up menu is platform specific.

      Note: Disposing of a control that has a pop up menu will dispose of the menu. To avoid this behavior, set the menu to null before the control is disposed.

      Overrides:
      setMenu in class Control
      Parameters:
      menu - the new pop up menu
    • setMinutes

      public void setMinutes(int minutes)
      Sets the receiver's minutes.

      Minutes is an integer between 0 and 59.

      Parameters:
      minutes - an integer between 0 and 59
      Throws:
      SWTException -
      • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
      • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
    • setMonth

      public void setMonth(int month)
      Sets the receiver's month.

      The first month of the year is 0, and the last month is 11. If the specified month is not valid for the receiver's day and year, then it is ignored.

      Parameters:
      month - an integer between 0 and 11
      Throws:
      SWTException -
      • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
      • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
      See Also:
    • setSeconds

      public void setSeconds(int seconds)
      Sets the receiver's seconds.

      Seconds is an integer between 0 and 59.

      Parameters:
      seconds - an integer between 0 and 59
      Throws:
      SWTException -
      • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
      • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
    • setTime

      public void setTime(int hours, int minutes, int seconds)
      Sets the receiver's hours, minutes, and seconds in a single operation.
      Parameters:
      hours - an integer between 0 and 23
      minutes - an integer between 0 and 59
      seconds - an integer between 0 and 59
      Throws:
      SWTException -
      • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
      • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
      Since:
      3.4
    • setYear

      public void setYear(int year)
      Sets the receiver's year.

      The first year is 1752 and the last year is 9999. If the specified year is not valid for the receiver's day and month, then it is ignored.

      Parameters:
      year - an integer between 1752 and 9999
      Throws:
      SWTException -
      • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
      • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
      See Also:
    • setBoundsInPixels

      void setBoundsInPixels(int x, int y, int width, int height)
      Overrides:
      setBoundsInPixels in class Control
    • setDropDownButtonSize

      private void setDropDownButtonSize()
      Usually called when control is resized or first initialized.
    • getGtkBorderPadding

      GtkBorder getGtkBorderPadding()
      Gets the border padding structure, which can be used to determine the inner padding of the text field. Note, this function returns the correct padding only under GTK3.
      Returns:
      GtkBorder object that holds the padding values.
    • onNumberKeyInput

      boolean onNumberKeyInput(int key)
    • keyToString

      private char keyToString(int key)
    • updateControl

      void updateControl()
    • register

      void register()
      Overrides:
      register in class Composite
    • defaultBackground

      GdkRGBA defaultBackground()
      Overrides:
      defaultBackground in class Control
    • deregister

      void deregister()
      Overrides:
      deregister in class Composite
    • getArrow

      int getArrow(long widget)
    • setText

      void setText(String dateTimeText)
      Calculates appropriate width of GtkEntry and adds Date/Time string to the Date/Time Spinner
    • gtk4_key_press_event

      boolean gtk4_key_press_event(long controller, int keyval, int keycode, int state, long event)
      Overrides:
      gtk4_key_press_event in class Composite
      Parameters:
      controller - the corresponding controller responsible for capturing the event
      keyval - the pressed key
      keycode - raw code of the pressed key
      state - the bitmask, representing the state of the modifier keys and pointer buttons
      event - the GdkEvent captured
      Returns:
      TRUE if the event has been fully/properly handled, otherwise FALSE
    • gtk3_key_press_event

      long gtk3_key_press_event(long widget, long event)
      Overrides:
      gtk3_key_press_event in class Composite
    • commitData

      void commitData()
    • getText

      String getText()
      Returns a string containing a copy of the contents of the receiver's text field, or an empty string if there are no contents.
      Returns:
      Spinner's text
      Throws:
      SWTException -
      • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
      • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
    • getText

      String getText(String str, int start, int end)
      Gets the substring between start and end indices of the caller provided string. Checks are done to ensure that start and end indices are well formed.
      Returns:
      substring of str between start invalid input: '&' end. If start invalid input: '&' end indices are malformed, an empty string is returned.
    • getTextSelection

      Point getTextSelection()
      Returns the selected text. If selected text is less than one character the returned Point has equal start and end values.
      Returns:
      the highlighted (selected) text or position of cursor
    • setTextSelection

      void setTextSelection(int start, int end)
      Highlight (select) the text between the start and end.
    • setTextField

      void setTextField(FieldPosition field, int value)
    • validateValueBounds

      private int validateValueBounds(FieldPosition field, int value)
    • gtk_button_release_event

      long gtk_button_release_event(long widget, long event)
      Overrides:
      gtk_button_release_event in class Control
    • gtk_gesture_release_event

      int gtk_gesture_release_event(long gesture, int n_press, double x, double y, long event)
      Overrides:
      gtk_gesture_release_event in class Control
      Parameters:
      gesture - the corresponding controller responsible for capturing the event
      n_press - how many touch/button presses happened with this one
      x - the x coordinate, in widget allocation coordinates
      y - the y coordinate, in widget allocation coordinates
      event - the GdkEvent captured
    • gtk_output

      long gtk_output(long widget)
      Output signal is called when Spinner's arrow buttons are triggered, usually by clicking the mouse on the [gtk3: +/-] buttons. On every click output is called twice presenting current and previous value. This method compares two values and determines if Up or down arrow was called.
      Overrides:
      gtk_output in class Widget
    • replaceCurrentlySelectedTextRegion

      void replaceCurrentlySelectedTextRegion(String string)
    • onTextMouseClick

      void onTextMouseClick()
    • getText

      String getText(int start, int end)
    • selectAll

      void selectAll()
    • hideDateTime

      void hideDateTime()
    • releaseWidget

      void releaseWidget()
      Overrides:
      releaseWidget in class Composite
    • updateField

      private FieldPosition updateField(FieldPosition field)
      Returns a field with updated positionla data
    • getNextField

      private FieldPosition getNextField(FieldPosition field)
      Given a FieldPosition searches the next field in the format string
      Parameters:
      field - the Field to start from
      Returns:
      the next FieldPosition
    • getPreviousField

      private FieldPosition getPreviousField(FieldPosition field)
      Returns:
      the next field of the given one
    • getFieldPosition

      private static FieldPosition getFieldPosition(AttributedCharacterIterator iterator)
      Searches the current postion of the iterator for a DateFormat.Field and constructs a FieldPosition from it
      Parameters:
      iterator - the iterator to use
      Returns:
      a new FieldPosition
    • getFieldPosition

      private static FieldPosition getFieldPosition(DateFormat.Field field, AttributedCharacterIterator iterator)
      creates a FieldPosition out of a DateFormat.Field and and a AttributedCharacterIterators current position
      Parameters:
      field - the field to use
      iterator - the iterator to extract the data from
      Returns:
      a FieldPosition init to this Field and begin/end index
    • isSameField

      private static boolean isSameField(FieldPosition p1, FieldPosition p2)
      Check if the given FieldPosition are considered "the same", this is when both are not null and reference the same Format.Field attribute, or both of them have no field attribute and have the same position
      Parameters:
      p1 - first position to compare
      p2 - second position to compare
      Returns:
      true if considered the same, false otherwise
    • getCalendarField

      private static int getCalendarField(FieldPosition fieldPosition)
      Extracts the calendarfield for the given fieldposition
      Returns:
      the Calendar field or -1 if this is not a valid Fieldposition
    • getCalendarField

      private static int getCalendarField(DateFormat.Field field)
      Extracts the calendarfield transforming HOUR1 types to HOUR0
      Returns:
      the calendarfield corresponding to the DateFormat.Field