Package ru.bgcrm.util
Class TimeUtils
java.lang.Object
ru.bgcrm.util.TimeUtils
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic boolean
checkDateIntervalsIntersection
(Calendar date1, Calendar date2, Calendar dateFrom, Calendar dateTo) Проверка пересечения двух интервалов дат.static final Calendar
Deprecated.static final Date
clear_HOUR_MIN_MIL_SEC
(Date time) Deprecated.static final Date
convertCalendarToDate
(Calendar calendar) Преобразование объекта Calendar в java.util.Date.static final Timestamp
convertCalendarToTimestamp
(Calendar calendar) Преобразование объекта java.util.Calendar в java.sql.Timestampstatic final Calendar
convertDateToCalendar
(Date date) Преобразование java.util.Date в java.util.Calendar.static final Date
convertDateToSqlDate
(Date date) Преобразование объекта java.util.Date в java.sql.Date.static final Timestamp
convertLongToTimestamp
(long millis) Преобразование long в java.sql.Timestamp.static final Date
convertSqlDateToDate
(Date date) Преобразование объекта java.sql.Date в java.util.Date.static final Calendar
Преобразование java.sql.Timestamp в java.util.Calendar.static boolean
dateBefore
(Date date1, Date date2) Проверка date1 invalid input: '<' date2 (С ТОЧНОСТЬЮ ДО ДНЯ!!!).static boolean
dateBeforeOrEq
(Calendar date1, Calendar date2) Проверка date1 invalid input: '<'= date2 (С ТОЧНОСТЬЮ ДО ДНЯ!!!).static boolean
dateBeforeOrEq
(Date date1, Date date2) Проверка date1 invalid input: '<'= date2 (С ТОЧНОСТЬЮ ДО ДНЯ!!!).static boolean
Проверка date1 == date2 (С ТОЧНОСТЬЮ ДО ДНЯ!!!).static final boolean
dateInRange
(Calendar checking, Calendar date1, Calendar date2) Проверка входит ли проверяемая дата в заданный период.static final boolean
dateInRange
(Date checking, Date date1, Date date2) Проверка входит ли проверяемая дата в заданный период.static final int
24h days difference between to dates.static final String
Formats a duration object to a human-readable string like5h 15m
static final String
Формирует строку с датой по заданному шаблону.static final String
formatPeriod
(Date date1, Date date2) Формирует строку период.static final String
formatPeriod
(Date dateFrom, Date dateTo, String patternType) static final String
formatSqlDate
(Date date) Форматирует дату в вид 'yyyy-MM-dd' для подстановки в SQL запрос, сразу окружённую кавычками.static final int
getDayOfWeekPosition
(Date date) Day of week starting from Monday = 1static final Date
getEndMonth
(Date date) Last day of a monthstatic final Calendar
getNextDay
(Calendar date) Следующий от даты день.static final Date
getNextDay
(Date date) Следующий от даты день.static final Calendar
getPrevDay
(Calendar date) Предыдущий от даты день.static final Date
getPrevDay
(Date date) Предыдущий от даты день.static final Date
static String
getShortDateName
(Date date) Deprecated.static String
getTypeFormat
(String type) Date and time format string compatible withSimpleDateFormat
.static final void
moveToEndOfMonth
(Calendar date) Устанавливает дату на последний день месяца.static final void
moveToStartNextDay
(Calendar date) Увеличивает date на 1 день и сбрасывает время в 00:00:00.0.static final Date
static final Date
static final void
parsePeriod
(String period, String patternType, PeriodSet periodSet) static final void
parsePeriod
(String period, PeriodSet periodSet) static final boolean
periodInRange
(Calendar checkingDate1, Calendar checkingDate2, Calendar date1, Calendar date2) Проверка входит ли проверяемый период в заданный.static Date
timezoneChange
(Date time, TimeZone fromTz, TimeZone toTz) Корректирует объект Date, так, чтобы получилось такое же локальное время но в другой таймзоне.
-
Field Details
-
CONF_KEY_FORMAT_YMD
- See Also:
-
CONF_KEY_FORMAT_YMDH
- See Also:
-
CONF_KEY_FORMAT_YMDHM
- See Also:
-
CONF_KEY_FORMAT_YMDHMS
- See Also:
-
PATTERN_DDMMYYYY
- See Also:
-
PATTERN_YYYYMMDD
- See Also:
-
PATTERN_YYYYMMDDHHMMSS
- See Also:
-
PATTERN_DDMMYYYYHHMMSS
- See Also:
-
FORMAT_TYPE_YMD
- See Also:
-
FORMAT_TYPE_YMDH
- See Also:
-
FORMAT_TYPE_YMDHM
- See Also:
-
FORMAT_TYPE_YMDHMS
- See Also:
-
-
Constructor Details
-
TimeUtils
public TimeUtils()
-
-
Method Details
-
getTypeFormat
Date and time format string compatible withSimpleDateFormat
.- 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
Формирует строку с датой по заданному шаблону.- Parameters:
date
- исходная датаpatternType
- шаблон датыFORMAT_TYPE_YMD
,FORMAT_TYPE_YMDH
,FORMAT_TYPE_YMDHM
,FORMAT_TYPE_YMDHMS
.- Returns:
- строка если исходная дата != null и шаблон задан корректно иначе null.
-
formatSqlDate
Форматирует дату в вид 'yyyy-MM-dd' для подстановки в SQL запрос, сразу окружённую кавычками.- Parameters:
date
-- Returns:
-
format
Formats a duration object to a human-readable string like5h 15m
- Parameters:
duration
-- Returns:
-
formatPeriod
-
formatPeriod
Формирует строку период.- Parameters:
date1
- начала периода.date2
- конец периода.- Returns:
- строка "dd.MM.yyyy-dd.MM.yyyy", если один из парамеметров равен null, вместо соответствующей даты выводиться пустая строка, например "-dd.MM.yyyy", "dd.MM.yyyy-", "-".
-
parse
-
parse
-
parsePeriod
-
parsePeriod
-
convertCalendarToDate
Преобразование объекта Calendar в java.util.Date.- Parameters:
calendar
- исходный объект Calendar.- Returns:
- объект типа java.util.Date или null если исходный объект null.
-
convertSqlDateToDate
Преобразование объекта java.sql.Date в java.util.Date.- Parameters:
date
- исходный объект.- Returns:
- объект типа java.util.Date или null если исходный объект null.
-
convertDateToCalendar
Преобразование java.util.Date в java.util.Calendar.- Parameters:
date
- исходный объект.- Returns:
- java.sql.Calendar, если date != null, иначе null.
-
convertTimestampToCalendar
Преобразование java.sql.Timestamp в java.util.Calendar.- Parameters:
time
- исходный объект.- Returns:
- java.sql.Calendar, если time != null, иначе null.
-
convertDateToSqlDate
Преобразование объекта java.util.Date в java.sql.Date.- Parameters:
date
- исходный объект.- Returns:
- java.sql.Date, если date != null, иначе null.
-
convertCalendarToTimestamp
Преобразование объекта java.util.Calendar в java.sql.Timestamp- Parameters:
calendar
- исходный объект.- Returns:
- java.sql.Timestamp, если calendar != null, иначе null.
-
convertLongToTimestamp
Преобразование long в java.sql.Timestamp.- Parameters:
millis
- исходный объект.- Returns:
- java.sql.Timestamp.
-
daysDelta
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
Day of week starting from Monday = 1- Parameters:
date
-- Returns:
-
dateBefore
Проверка date1 invalid input: '<' date2 (С ТОЧНОСТЬЮ ДО ДНЯ!!!).- Parameters:
date1
- первая дата.date2
- вторая дата.- Returns:
- true - date1 invalid input: '<' date2, иначе false
-
dateEqual
Проверка date1 == date2 (С ТОЧНОСТЬЮ ДО ДНЯ!!!).- Parameters:
date1
- первая дата.date2
- вторая дата.- Returns:
- true - date1 == date2, иначе false
-
dateBeforeOrEq
Проверка date1 invalid input: '<'= date2 (С ТОЧНОСТЬЮ ДО ДНЯ!!!).- Parameters:
date1
- первая дата.date2
- вторая дата.- Returns:
- true - date1 invalid input: '<'= date2, иначе false.
-
dateBeforeOrEq
Проверка date1 invalid input: '<'= date2 (С ТОЧНОСТЬЮ ДО ДНЯ!!!).- Parameters:
date1
- первая дата.date2
- вторая дата.- Returns:
- true - date1 invalid input: '<'= date2, иначе false
-
dateInRange
Проверка входит ли проверяемая дата в заданный период.- Parameters:
checking
- проверяемая дата.date1
- начало заданого периода.date2
- конец заданого периода.- Returns:
- true - входит, false - нет.
-
dateInRange
Проверка входит ли проверяемая дата в заданный период.- 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
Устанавливает дату на последний день месяца.- Parameters:
date
- исходная дата.
-
moveToStartNextDay
Увеличивает date на 1 день и сбрасывает время в 00:00:00.0.- Parameters:
date
- исходная дата.
-
clear_HOUR_MIN_MIL_SEC
Deprecated.Сброс времени на начало дня.- Parameters:
time
- исходная дата.- Returns:
- сброшенная дата (часы=минуты=секунды=мсек=0).
-
clear_HOUR_MIN_MIL_SEC
Deprecated.Сброс времени на начало дня.- Parameters:
time
- исходная дата.- Returns:
- сброшенная дата (часы=минуты=секунды=мсек=0).
-
getEndMonth
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
Следующий от даты день.- Parameters:
date
- дата- Returns:
-
getPrevDay
Предыдущий от даты день.- Parameters:
date
-- Returns:
-
getNextDay
Следующий от даты день.- Parameters:
date
- дата- Returns:
-
getPrevDay
Предыдущий от даты день.- Parameters:
date
-- Returns:
-
getPrevMonth
- Returns:
- first day in the prevous month from the current time.
-
getShortDateName
Deprecated.Возвращает сокращенное название дня недели (пн - понедельник, вт - вторник и т.д.)- Parameters:
date
- Дата, на основании которой определяется день недели- Returns:
- String сокращенное название дня недели
-
timezoneChange
Корректирует объект Date, так, чтобы получилось такое же локальное время но в другой таймзоне.- Parameters:
time
- исходный объект Date с каким-то временем для таймзоны fromTz.fromTz
- исходная таймзона.toTz
- целевая таймзона.- Returns:
-