Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
196
Добавлен:
17.04.2018
Размер:
228.86 Кб
Скачать

ИП. ИJ. РC. Дата и время. Форматирование

МИЭТ, 2017

Форматирование и анализ даты/времени

Форматирование даты/времени:

Date now = new Date(); String s = fmt.format(now); System.out.println(s);

Анализ даты/времени:

TextField inputText;

. . .

DateFormat fmt = DateFormat.getDateInstance(DateFormat.MEDIUM);

Date input = fmt.parse(inputText.getText().trim());

В случае ошибки преобразования генерируется ParseException

ИП. ИJ. РC. Дата и время. Календари

МИЭТ, 2017

Календари

Календарь по-умолчанию — Григорианский (GregorianCalendar)

Создание объекта календаря:

Calendar rightNow = Calendar.getInstance();

Основные методы класса java.util.Calendar: get(f)

set(f, value) add(f, delta) roll(f, delta)

ИП. ИJ. РC. Дата и время. Календари

МИЭТ, 2017

Calendar.get(field)

получаем значение

Значения field:

ERA, YEAR, MONTH, DAY_OF_MONTH и т.д.

HOUR, HOUR_OF_DAY, MINUTE, SECOND и т.д.

ИП. ИJ. РC. Дата и время. Календари

МИЭТ, 2017

Calendar.set(field, value)

устанавливаем значение

Устанавливает поле field в значение value:

Числовое значение

Константы: JANUARY...DECEMBER, AM и т.д.

Внутреннее представление календаря не пересчитывается до вызовов get(), getTime(),

getTimeMillis() и т.д.

ИП. ИJ. РC. Дата и время. Календари

МИЭТ, 2017

Calendar.add(field,delta)

добавляем к полю значение delta

Эквивалентно set(f, get(f) + delta) со следующими замечаниями:

При переполнении значения изменяемого поля изменяется более «значимое» поле.

Если поля, «меньшие» изменяемого выходят за допустимые рамки, они принимают крайние возможные значения.

Пример:

Было: Август 31, 2007г.

Операция: add(CALENDAR.MONTH, 1) Стало: Сентябрь 30, 2007г.

ИП. ИJ. РC. Дата и время. Календари

МИЭТ, 2017

Calendar.roll(field, delta)

Добавляет смещение delta к величине поля field но не производит изменения старших полей

Эквивалентно add(field, delta) со следующим различием - Не изменяет «большие» поля

Пример:

Было: август 31, 2007 Операция: roll(field, 8) Стало: апрель 30, 2007

ИП. ИJ. РC. Строки

Сточки зрения Unicode:

America Zulu ant zebra

Ángström

МИЭТ, 2017

Сравнение строк

С точки зрения

С точки зрения

англичанина

шведа

America

America

Ángström

ant

ant

zebra

zebra

Zulu

Zulu

Ángström

ИП. ИJ. РC. Строки

МИЭТ, 2017

Сравнение строк

Locale loc = . . .;

Collator coll = Collator.getInstance(loc); if (coll.compare(a,b) < 0 ) // a < b

Три уровня избирательности (strength) сравнения:

Первостепенный (primary) (Angstom = Ángström, Ant = ant)

Второстепенный (secondary) (Angstom != Ángström, Ant = ant)

Третьестепенный (tertiary) (Angstom != Ángström, Ant != ant)

Задание уровня избирательности: coll.setStrength(Collator.SECONDARY)

ИП. ИJ. РC. Строки. Форматирование

МИЭТ, 2017

Форматирование строк

String String.format(String format, ...)

String String.format(Locale locale, String format, ...)

Форматная строка состоит из спецификаторов формата: %[индекс аргумента$][флаги][ширина][.точность]тип

ИП. ИJ. РC. Строки. Форматирование

МИЭТ, 2017

Спецификатор формата

Индекс аргумента — определяет какой аргумент форматировать в этой позиции

Флаги — дополнительные параметры (зависят от типа) форматирования

Ширина — неотрицательное число, определяющее минимальное кол-во символов

Точность — неотрицательное число, ограничивающее кол-во символов

Тип преобразования — задает тип аргумента

Соседние файлы в папке Интернет технологии