Class CalendarUtils


  • public class CalendarUtils
    extends java.lang.Object
    Calendar manipulation. PENDING: replace by something tested - as is c&p'ed dateUtils to work on a calendar instead of using long
    • Constructor Summary

      Constructors 
      Constructor Description
      CalendarUtils()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static boolean areEqual​(java.util.Date current, java.util.Date date)
      Checks the given dates for being equal.
      static void endOfDay​(java.util.Calendar calendar)
      Adjust the given calendar to the last millisecond of the specified date.
      static java.util.Date endOfDay​(java.util.Calendar calendar, java.util.Date date)
      Adjust the given calendar to the last millisecond of the given date.
      static void endOfMonth​(java.util.Calendar calendar)
      Adjusts the calendar to the end of the current month.
      static void endOfWeek​(java.util.Calendar calendar)
      Adjusts the calendar to the end of the current week.
      static java.util.Date endOfWeek​(java.util.Calendar calendar, java.util.Date date)
      Adjusts the calendar to the end of the current week.
      static java.util.Date getEndOfDST​(java.util.Calendar calendar)
      Adjusts the Calendar to the end of the day of the last day in DST in the current year or unchanged if not using DST.
      static java.util.Date getStartOfDST​(java.util.Calendar calendar)
      Adjusts the Calendar to the end of the day of the first day in DST in the current year or unchanged if not using DST.
      static boolean isEndOfDay​(java.util.Calendar calendar)
      Returns a boolean indicating if the given calendar represents the end of a day (in the calendar's time zone).
      static boolean isEndOfMonth​(java.util.Calendar calendar)
      Returns a boolean indicating if the given calendar represents the end of a month (in the calendar's time zone).
      static boolean isEndOfWeek​(java.util.Calendar calendar)
      Returns a boolean indicating if the given calendar represents the end of a week (in the calendar's time zone).
      static boolean isSameDay​(java.util.Calendar today, java.util.Date now)
      Returns a boolean indicating whether the given Date is the same day as the day in the calendar.
      static boolean isStartOfDay​(java.util.Calendar calendar)
      Returns a boolean indicating if the given calendar represents the start of a day (in the calendar's time zone).
      static boolean isStartOfMonth​(java.util.Calendar calendar)
      Returns a boolean indicating if the given calendar represents the start of a month (in the calendar's time zone).
      static boolean isStartOfWeek​(java.util.Calendar calendar)
      Returns a boolean indicating if the given calendar represents the start of a month (in the calendar's time zone).
      static void startOfDay​(java.util.Calendar calendar)
      Adjust the given calendar to the first millisecond of the current day.
      static java.util.Date startOfDay​(java.util.Calendar calendar, java.util.Date date)
      Adjust the given calendar to the first millisecond of the given date.
      static void startOfMonth​(java.util.Calendar calendar)
      Adjusts the calendar to the start of the current month.
      static void startOfWeek​(java.util.Calendar calendar)
      Adjusts the calendar to the start of the current week.
      static java.util.Date startOfWeek​(java.util.Calendar calendar, java.util.Date date)
      Adjusts the calendar to the start of the current week.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • CalendarUtils

        public CalendarUtils()
    • Method Detail

      • getEndOfDST

        public static java.util.Date getEndOfDST​(java.util.Calendar calendar)
        Adjusts the Calendar to the end of the day of the last day in DST in the current year or unchanged if not using DST. Returns the calendar's date or null, if not using DST.

        Parameters:
        calendar - the calendar to adjust
        Returns:
        the end of day of the last day in DST, or null if not using DST.
      • getStartOfDST

        public static java.util.Date getStartOfDST​(java.util.Calendar calendar)
        Adjusts the Calendar to the end of the day of the first day in DST in the current year or unchanged if not using DST. Returns the calendar's date or null, if not using DST.

        Note: the start of the day of the first day in DST is ill-defined!

        Parameters:
        calendar - the calendar to adjust
        Returns:
        the start of day of the first day in DST, or null if not using DST.
      • isStartOfDay

        public static boolean isStartOfDay​(java.util.Calendar calendar)
        Returns a boolean indicating if the given calendar represents the start of a day (in the calendar's time zone). The calendar is unchanged.
        Parameters:
        calendar - the calendar to check.
        Returns:
        true if the calendar's time is the start of the day, false otherwise.
      • isEndOfDay

        public static boolean isEndOfDay​(java.util.Calendar calendar)
        Returns a boolean indicating if the given calendar represents the end of a day (in the calendar's time zone). The calendar is unchanged.
        Parameters:
        calendar - the calendar to check.
        Returns:
        true if the calendar's time is the end of the day, false otherwise.
      • isStartOfMonth

        public static boolean isStartOfMonth​(java.util.Calendar calendar)
        Returns a boolean indicating if the given calendar represents the start of a month (in the calendar's time zone). Returns true, if the time is the start of the first day of the month, false otherwise. The calendar is unchanged.
        Parameters:
        calendar - the calendar to check.
        Returns:
        true if the calendar's time is the start of the first day of the month, false otherwise.
      • isEndOfMonth

        public static boolean isEndOfMonth​(java.util.Calendar calendar)
        Returns a boolean indicating if the given calendar represents the end of a month (in the calendar's time zone). Returns true, if the time is the end of the last day of the month, false otherwise. The calendar is unchanged.
        Parameters:
        calendar - the calendar to check.
        Returns:
        true if the calendar's time is the end of the last day of the month, false otherwise.
      • isStartOfWeek

        public static boolean isStartOfWeek​(java.util.Calendar calendar)
        Returns a boolean indicating if the given calendar represents the start of a month (in the calendar's time zone). Returns true, if the time is the start of the first day of the month, false otherwise. The calendar is unchanged.
        Parameters:
        calendar - the calendar to check.
        Returns:
        true if the calendar's time is the start of the first day of the month, false otherwise.
      • isEndOfWeek

        public static boolean isEndOfWeek​(java.util.Calendar calendar)
        Returns a boolean indicating if the given calendar represents the end of a week (in the calendar's time zone). Returns true, if the time is the end of the last day of the week, false otherwise. The calendar is unchanged.
        Parameters:
        calendar - the calendar to check.
        Returns:
        true if the calendar's time is the end of the last day of the week, false otherwise.
      • startOfWeek

        public static void startOfWeek​(java.util.Calendar calendar)
        Adjusts the calendar to the start of the current week. That is, first day of the week with all time fields cleared.
        Parameters:
        calendar - the calendar to adjust.
      • endOfWeek

        public static void endOfWeek​(java.util.Calendar calendar)
        Adjusts the calendar to the end of the current week. That is, last day of the week with all time fields at max.
        Parameters:
        calendar - the calendar to adjust.
      • endOfWeek

        public static java.util.Date endOfWeek​(java.util.Calendar calendar,
                                               java.util.Date date)
        Adjusts the calendar to the end of the current week. That is, last day of the week with all time fields at max. The Date of the adjusted Calendar is returned.
        Parameters:
        calendar - calendar to adjust.
        date - the Date to use.
        Returns:
        the end of the week of the given date
      • startOfWeek

        public static java.util.Date startOfWeek​(java.util.Calendar calendar,
                                                 java.util.Date date)
        Adjusts the calendar to the start of the current week. That is, last day of the week with all time fields at max. The Date of the adjusted Calendar is returned.
        Parameters:
        calendar - calendar to adjust.
        date - the Date to use.
        Returns:
        the start of the week of the given date
      • startOfMonth

        public static void startOfMonth​(java.util.Calendar calendar)
        Adjusts the calendar to the start of the current month. That is, first day of the month with all time fields cleared.
        Parameters:
        calendar -
      • endOfMonth

        public static void endOfMonth​(java.util.Calendar calendar)
        Adjusts the calendar to the end of the current month. That is the last day of the month with all time-fields at max.
        Parameters:
        calendar -
      • startOfDay

        public static java.util.Date startOfDay​(java.util.Calendar calendar,
                                                java.util.Date date)
        Adjust the given calendar to the first millisecond of the given date. that is all time fields cleared. The Date of the adjusted Calendar is returned.
        Parameters:
        calendar - calendar to adjust.
        date - the Date to use.
        Returns:
        the start of the day of the given date
      • endOfDay

        public static java.util.Date endOfDay​(java.util.Calendar calendar,
                                              java.util.Date date)
        Adjust the given calendar to the last millisecond of the given date. that is all time fields cleared. The Date of the adjusted Calendar is returned.
        Parameters:
        calendar - calendar to adjust.
        date - the Date to use.
        Returns:
        the end of the day of the given date
      • startOfDay

        public static void startOfDay​(java.util.Calendar calendar)
        Adjust the given calendar to the first millisecond of the current day. that is all time fields cleared.
        Parameters:
        calendar - calendar to adjust.
      • endOfDay

        public static void endOfDay​(java.util.Calendar calendar)
        Adjust the given calendar to the last millisecond of the specified date.
        Parameters:
        calendar - calendar to adjust.
      • areEqual

        public static boolean areEqual​(java.util.Date current,
                                       java.util.Date date)
        Checks the given dates for being equal.
        Parameters:
        current - one of the dates to compare
        date - the otherr of the dates to compare
        Returns:
        true if the two given dates both are null or both are not null and equal, false otherwise.
      • isSameDay

        public static boolean isSameDay​(java.util.Calendar today,
                                        java.util.Date now)
        Returns a boolean indicating whether the given Date is the same day as the day in the calendar. Calendar and date are unchanged by the check.
        Parameters:
        today - the Calendar representing a date, must not be null.
        now - the date to compare to, must not be null
        Returns:
        true if the calendar and date represent the same day in the given calendar.