com.stimulsoft.lib.utils
Class StiDateUtil

java.lang.Object
  extended by com.stimulsoft.lib.utils.StiDateUtil

public final class StiDateUtil
extends java.lang.Object

Утилитные методы для работы с датами. Thread-safe.


Nested Class Summary
static class StiDateUtil.DateFormatHolder
          Фабрика объектов SimpleDateFormat.
 
Field Summary
static java.lang.String DEFAULT_DATE_PATTERN
          Default date format "dd.MM.yyyy"
static java.lang.String DEFAULT_DATE_PATTERN_EN
           
static java.lang.String DEFAULT_DATE_TIME_PATTERN
          Default date/time format "dd.MM.yyyy HH:mm:ss"
static java.lang.String DEFAULT_TIME_PATTERN
          Default time format "HH:mm".
 
Method Summary
static java.lang.String convert(java.lang.String date, java.lang.String patternFrom, java.lang.String patternTo)
          Работает аналогично convertQuietly(String, String, String), но при ошибках преобразования выбрасывает исключение IllegalArgumentException.
static java.lang.String convertQuietly(java.lang.String date, java.lang.String patternFrom, java.lang.String patternTo)
          Преобразует строку даты в формате patternFrom в строку даты в формате patternTo.
static java.lang.String format(java.util.Date date)
          Преобразует дату в строку формата DEFAULT_DATE_PATTERN.
static java.lang.String format(java.util.Date date, java.lang.String pattern)
           
static java.lang.String format(java.util.Date date, java.lang.String pattern, java.util.Locale locale)
          Преобразует дату в строку заданного формата.
static java.lang.String formatDateTime(java.util.Date date)
          Convert Date to string with format StiDateUtil.DEFAULT_DATETIME_PATTERN
static java.lang.String formatTime(java.util.Date date)
          Преобразует дату/время в строку формата DEFAULT_DEFAULT_TIME_PATTERN_PATTERN}.
static boolean isDateValid(java.lang.String date, java.lang.String pattern)
          Возвращает true, если строка может быть преобразована в объект даты в указанном формате.
static boolean isDateValid(java.lang.String date, java.lang.String pattern, boolean strict)
          Возвращает true, если строка может быть преобразована в объект даты в указанном формате.
static java.util.Date now()
           
static java.util.Date parse(java.lang.String date)
          Преобразует строку даты в формате DEFAULT_DATE_PATTERN в дату типа Date.
static java.util.Date parse(java.lang.String date, java.lang.String pattern)
          Преобразует строку даты в формате format в дату типа Date.
static java.util.Date parseQuietly(java.lang.String date)
          Преобразует строку даты в формате DEFAULT_DATE_PATTERN в дату типа Date.
static java.util.Date parseQuietly(java.lang.String date, java.lang.String pattern)
          Преобразует строку даты в формате format в дату типа Date.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_DATE_PATTERN

public static java.lang.String DEFAULT_DATE_PATTERN
Default date format "dd.MM.yyyy"


DEFAULT_DATE_PATTERN_EN

public static java.lang.String DEFAULT_DATE_PATTERN_EN

DEFAULT_DATE_TIME_PATTERN

public static java.lang.String DEFAULT_DATE_TIME_PATTERN
Default date/time format "dd.MM.yyyy HH:mm:ss"


DEFAULT_TIME_PATTERN

public static final java.lang.String DEFAULT_TIME_PATTERN
Default time format "HH:mm".

See Also:
Constant Field Values
Method Detail

now

public static java.util.Date now()
Returns:
текущую дату/время

parse

public static java.util.Date parse(java.lang.String date)
                            throws java.text.ParseException
Преобразует строку даты в формате DEFAULT_DATE_PATTERN в дату типа Date.

Parameters:
date - дата, которую надо преобразовать
Returns:
преобразованная дата
Throws:
java.text.ParseException - при ошибке преобразования строки в дату

parseQuietly

public static java.util.Date parseQuietly(java.lang.String date)
Преобразует строку даты в формате DEFAULT_DATE_PATTERN в дату типа Date.

Parameters:
date - дата, которую надо преобразовать
Returns:
преобразованная дата или null в случае ошибки

parse

public static java.util.Date parse(java.lang.String date,
                                   java.lang.String pattern)
                            throws java.text.ParseException
Преобразует строку даты в формате format в дату типа Date.

Parameters:
date - дата, которую надо преобразовать
pattern - формат даты параметра
Returns:
преобразованная дата
Throws:
java.text.ParseException - при ошибке преобразования строки в дату

parseQuietly

public static java.util.Date parseQuietly(java.lang.String date,
                                          java.lang.String pattern)
Преобразует строку даты в формате format в дату типа Date.

Parameters:
date - дата, которую надо преобразовать
pattern - формат даты параметра
Returns:
преобразованная дата или null в случае ошибки

convert

public static java.lang.String convert(java.lang.String date,
                                       java.lang.String patternFrom,
                                       java.lang.String patternTo)
Работает аналогично convertQuietly(String, String, String), но при ошибках преобразования выбрасывает исключение IllegalArgumentException.

Parameters:
date - дата, которую надо преобразовать
patternFrom - входной формат даты (в котором дата задана)
patternTo - выходной формат даты (в который надо преобразовать)
Returns:
преобразованная дата в виде строки
Throws:
java.lang.IllegalArgumentException - в случае ошибки

convertQuietly

public static java.lang.String convertQuietly(java.lang.String date,
                                              java.lang.String patternFrom,
                                              java.lang.String patternTo)
Преобразует строку даты в формате patternFrom в строку даты в формате patternTo. Пример:
date = "10102000" patternFrom = "ddMMyyyy" patternTo = "dd.MM.yyyy"
результат: "10.10.2000"

Parameters:
date - дата, которую надо преобразовать
patternFrom - входной формат даты (в котором дата задана)
patternTo - выходной формат даты (в который надо преобразовать)
Returns:
преобразованная дата в виде строки или null в случае ошибки

format

public static java.lang.String format(java.util.Date date)
Преобразует дату в строку формата DEFAULT_DATE_PATTERN.

Parameters:
date - дата
Returns:
строка даты

formatTime

public static java.lang.String formatTime(java.util.Date date)
Преобразует дату/время в строку формата DEFAULT_DEFAULT_TIME_PATTERN_PATTERN}.

Parameters:
date - дата/время
Returns:
строка времени

formatDateTime

public static java.lang.String formatDateTime(java.util.Date date)
Convert Date to string with format StiDateUtil.DEFAULT_DATETIME_PATTERN

Parameters:
date -
Returns:

format

public static java.lang.String format(java.util.Date date,
                                      java.lang.String pattern)

format

public static java.lang.String format(java.util.Date date,
                                      java.lang.String pattern,
                                      java.util.Locale locale)
Преобразует дату в строку заданного формата.

Parameters:
date - дата
pattern - формат для преобразования в строку
Returns:
строка даты

isDateValid

public static boolean isDateValid(java.lang.String date,
                                  java.lang.String pattern)
Возвращает true, если строка может быть преобразована в объект даты в указанном формате. Строка может иметь лишние символы после окончания шаблона даты (SimpleDateFormat это позволяет). Строка может иметь неправильное число дней (больше 31) или месяцев (больше 12), т.к. SimpleDateFormat с lenient=true по умолчанию это позволяет.

Parameters:
date - значение даты
pattern - формат даты, в соответствии с SimpleDateFormat
Returns:
true, если дата имеет правильный формат

isDateValid

public static boolean isDateValid(java.lang.String date,
                                  java.lang.String pattern,
                                  boolean strict)
Возвращает true, если строка может быть преобразована в объект даты в указанном формате. При strict=true строка не может иметь лишние символы после окончания шаблона даты или неправильное число дней/месяцев (lenient установлен в false).

Parameters:
date - значение даты
pattern - формат даты, в соответствии с SimpleDateFormat
strict - true для строгого контроля (ничего лишнего в строке даты, правильное число дней/месяцев)
Returns:
true, если дата состоит только из года