Package ru.bgcrm.util

Class TimeUtils

java.lang.Object
ru.bgcrm.util.TimeUtils

public class TimeUtils extends Object
  • Field Details

  • Constructor Details

    • TimeUtils

      public TimeUtils()
  • Method Details

    • getTypeFormat

      public static String getTypeFormat(String type)
      Date and time format string compatible with SimpleDateFormat.
      Parameters:
      type - type of date-time: FORMAT_TYPE_YMD,FORMAT_TYPE_YMDH, FORMAT_TYPE_YMDHM, FORMAT_TYPE_YMDHMS.
      Returns:
      matching date format or itself.
    • format

      public static final String format(Date date, String patternType)
      Формирует строку с датой по заданному шаблону.
      Parameters:
      date - исходная дата
      patternType - шаблон даты FORMAT_TYPE_YMD,FORMAT_TYPE_YMDH, FORMAT_TYPE_YMDHM, FORMAT_TYPE_YMDHMS.
      Returns:
      строка если исходная дата != null и шаблон задан корректно иначе null.
    • formatSqlDate

      public static final String formatSqlDate(Date date)
      Форматирует дату в вид 'yyyy-MM-dd' для подстановки в SQL запрос, сразу окружённую кавычками.
      Parameters:
      date -
      Returns:
    • format

      public static final String format(Duration duration)
      Formats a duration object to a human-readable string like 5h 15m
      Parameters:
      duration -
      Returns:
    • formatPeriod

      public static final String formatPeriod(Date dateFrom, Date dateTo, String patternType)
    • formatPeriod

      public static final String formatPeriod(Date date1, Date date2)
      Формирует строку период.
      Parameters:
      date1 - начала периода.
      date2 - конец периода.
      Returns:
      строка "dd.MM.yyyy-dd.MM.yyyy", если один из парамеметров равен null, вместо соответствующей даты выводиться пустая строка, например "-dd.MM.yyyy", "dd.MM.yyyy-", "-".
    • parse

      public static final Date parse(String date, String patternType)
    • parse

      public static final Date parse(String date, String patternType, Date defaultValue)
    • parsePeriod

      public static final void parsePeriod(String period, PeriodSet periodSet)
    • parsePeriod

      public static final void parsePeriod(String period, String patternType, PeriodSet periodSet)
    • convertCalendarToDate

      public static final Date convertCalendarToDate(Calendar calendar)
      Преобразование объекта Calendar в java.util.Date.
      Parameters:
      calendar - исходный объект Calendar.
      Returns:
      объект типа java.util.Date или null если исходный объект null.
    • convertSqlDateToDate

      public static final Date convertSqlDateToDate(Date date)
      Преобразование объекта java.sql.Date в java.util.Date.
      Parameters:
      date - исходный объект.
      Returns:
      объект типа java.util.Date или null если исходный объект null.
    • convertDateToCalendar

      public static final Calendar convertDateToCalendar(Date date)
      Преобразование java.util.Date в java.util.Calendar.
      Parameters:
      date - исходный объект.
      Returns:
      java.sql.Calendar, если date != null, иначе null.
    • convertTimestampToCalendar

      public static final Calendar convertTimestampToCalendar(Timestamp time)
      Преобразование java.sql.Timestamp в java.util.Calendar.
      Parameters:
      time - исходный объект.
      Returns:
      java.sql.Calendar, если time != null, иначе null.
    • convertDateToSqlDate

      public static final Date convertDateToSqlDate(Date date)
      Преобразование объекта java.util.Date в java.sql.Date.
      Parameters:
      date - исходный объект.
      Returns:
      java.sql.Date, если date != null, иначе null.
    • convertCalendarToTimestamp

      public static final Timestamp convertCalendarToTimestamp(Calendar calendar)
      Преобразование объекта java.util.Calendar в java.sql.Timestamp
      Parameters:
      calendar - исходный объект.
      Returns:
      java.sql.Timestamp, если calendar != null, иначе null.
    • convertLongToTimestamp

      public static final Timestamp convertLongToTimestamp(long millis)
      Преобразование long в java.sql.Timestamp.
      Parameters:
      millis - исходный объект.
      Returns:
      java.sql.Timestamp.
    • daysDelta

      public static final int daysDelta(Date dayFrom, Date dayTo)
      24h days difference between to dates. The method is time-proven, but since Java 8 there is also available:
      invalid @link
      {@link java.time.temporal.ChronoUnit#DAYS#between(java.time.temporal.Temporal, java.time.temporal.Temporal)
      }
      Parameters:
      dayFrom -
      dayTo -
      Returns:
    • getDayOfWeekPosition

      public static final int getDayOfWeekPosition(Date date)
      Day of week starting from Monday = 1
      Parameters:
      date -
      Returns:
    • dateBefore

      public static boolean dateBefore(Date date1, Date date2)
      Проверка date1 invalid input: '<' date2 (С ТОЧНОСТЬЮ ДО ДНЯ!!!).
      Parameters:
      date1 - первая дата.
      date2 - вторая дата.
      Returns:
      true - date1 invalid input: '<' date2, иначе false
    • dateEqual

      public static boolean dateEqual(Date date1, Date date2)
      Проверка date1 == date2 (С ТОЧНОСТЬЮ ДО ДНЯ!!!).
      Parameters:
      date1 - первая дата.
      date2 - вторая дата.
      Returns:
      true - date1 == date2, иначе false
    • dateBeforeOrEq

      public static boolean dateBeforeOrEq(Calendar date1, Calendar date2)
      Проверка date1 invalid input: '<'= date2 (С ТОЧНОСТЬЮ ДО ДНЯ!!!).
      Parameters:
      date1 - первая дата.
      date2 - вторая дата.
      Returns:
      true - date1 invalid input: '<'= date2, иначе false.
    • dateBeforeOrEq

      public static boolean dateBeforeOrEq(Date date1, Date date2)
      Проверка date1 invalid input: '<'= date2 (С ТОЧНОСТЬЮ ДО ДНЯ!!!).
      Parameters:
      date1 - первая дата.
      date2 - вторая дата.
      Returns:
      true - date1 invalid input: '<'= date2, иначе false
    • dateInRange

      public static final boolean dateInRange(Calendar checking, Calendar date1, Calendar date2)
      Проверка входит ли проверяемая дата в заданный период.
      Parameters:
      checking - проверяемая дата.
      date1 - начало заданого периода.
      date2 - конец заданого периода.
      Returns:
      true - входит, false - нет.
    • dateInRange

      public static final boolean dateInRange(Date checking, Date date1, Date date2)
      Проверка входит ли проверяемая дата в заданный период.
      Parameters:
      checking - проверяемая дата.
      date1 - начало заданого периода.
      date2 - конец заданого периода.
      Returns:
      true - входит, false - нет.
    • periodInRange

      public static final boolean periodInRange(Calendar checkingDate1, Calendar checkingDate2, Calendar date1, Calendar date2)
      Проверка входит ли проверяемый период в заданный.
      Parameters:
      checkingDate1 - начала проверяемого период.
      checkingDate2 - конец проверяемого периода.
      date1 - начало заданого периода.
      date2 - конец заданого периода.
      Returns:
      true - входит, false - нет.
    • checkDateIntervalsIntersection

      public static boolean checkDateIntervalsIntersection(Calendar date1, Calendar date2, Calendar dateFrom, Calendar dateTo)
      Проверка пересечения двух интервалов дат.
      Parameters:
      date1 - левая граница первого интервала
      date2 - правая граница первого интервала
      dateFrom - левая граница второго интервала
      dateTo - правай граница второго интервала
      Returns:
    • moveToEndOfMonth

      public static final void moveToEndOfMonth(Calendar date)
      Устанавливает дату на последний день месяца.
      Parameters:
      date - исходная дата.
    • moveToStartNextDay

      public static final void moveToStartNextDay(Calendar date)
      Увеличивает date на 1 день и сбрасывает время в 00:00:00.0.
      Parameters:
      date - исходная дата.
    • clear_HOUR_MIN_MIL_SEC

      @Deprecated public static final Calendar clear_HOUR_MIN_MIL_SEC(Calendar time)
      Deprecated.
      Сброс времени на начало дня.
      Parameters:
      time - исходная дата.
      Returns:
      сброшенная дата (часы=минуты=секунды=мсек=0).
    • clear_HOUR_MIN_MIL_SEC

      @Deprecated public static final Date clear_HOUR_MIN_MIL_SEC(Date time)
      Deprecated.
      Сброс времени на начало дня.
      Parameters:
      time - исходная дата.
      Returns:
      сброшенная дата (часы=минуты=секунды=мсек=0).
    • getEndMonth

      public static final Date getEndMonth(Date date)
      Last day of a month
      Parameters:
      date - any day of the month
      Returns:
      null if is null, else the last day of the month
    • getNextDay

      public static final Calendar getNextDay(Calendar date)
      Следующий от даты день.
      Parameters:
      date - дата
      Returns:
    • getPrevDay

      public static final Calendar getPrevDay(Calendar date)
      Предыдущий от даты день.
      Parameters:
      date -
      Returns:
    • getNextDay

      public static final Date getNextDay(Date date)
      Следующий от даты день.
      Parameters:
      date - дата
      Returns:
    • getPrevDay

      public static final Date getPrevDay(Date date)
      Предыдущий от даты день.
      Parameters:
      date -
      Returns:
    • getPrevMonth

      public static final Date getPrevMonth()
      Returns:
      first day in the prevous month from the current time.
    • getShortDateName

      @Deprecated public static String getShortDateName(Date date)
      Deprecated.
      Возвращает сокращенное название дня недели (пн - понедельник, вт - вторник и т.д.)
      Parameters:
      date - Дата, на основании которой определяется день недели
      Returns:
      String сокращенное название дня недели
    • timezoneChange

      public static Date timezoneChange(Date time, TimeZone fromTz, TimeZone toTz)
      Корректирует объект Date, так, чтобы получилось такое же локальное время но в другой таймзоне.
      Parameters:
      time - исходный объект Date с каким-то временем для таймзоны fromTz.
      fromTz - исходная таймзона.
      toTz - целевая таймзона.
      Returns: