Иллюстрированный самоучитель по Java

       

Представление даты и времени


Различные способы представления дат и показаний времени можно осуществить методами, собранными в абстрактный класс

DateFormat

и его подкласс

SimpleDateFormat

ИЗ пакета

Java. text.

Класс

DateFormat

предлагает четыре стиля представления даты и времени:

стиль

SHORT

представляет дату и время в коротком числовом виде: 27.04.01 17:32; в локали США: 4/27/01 5:32 РМ;

стиль



MEDIUM

задает год четырьмя цифрами и показывает секунды: 27.04.2001 17:32:45; в локали США месяц представляется тремя буквами;

стиль

LONG

представляет месяц словом и добавляет часовой пояс: 27 апрель 2001 г. 17:32:45 GMT+03.-00;

стиль

FULL

в русской локзли таков же, как и стиль

LONG

; в локали США добавляется еще день недели.

Есть еще стиль

DEFAULT

, совпадающий со стилем

MEDIUM

.

При создании объекта класса

simpieDateFormat

можно задать в конструкторе шаблон, определяющий какой-либо другой формат, например:

SimpieDateFormat sdf = new SimpieDateFormat("dd-MM-yyyy hh.iran"); System.out.println(sdf.format(new Date()));

Получим вывод в таком виде: 27-04-2001 17.32.

В шаблоне буква d означает цифру дня месяца, м — цифру месяца, у — цифру года, h — цифру часа, m — цифру минут. Остальные обозначения для шаблона указаны В Документации ПО Классу

SimpieDateFormat

.

Эти буквенные обозначения можно изменить с помощью класса

DateFormatSymbols.

Не во всех локалях можно создать объект класса

SimpieDateFormat

. В таких случаях используются статические методы

getinstanceo

класса

DateFormat

, возвращающие объект класса

DateFormat

. Параметрами этих методов служат стиль представления даты и времени и, может быть, локаль.

После создания объекта метод

format

о класса

DateFormat

возвращает строку с датой и временем, согласно заданному стилю. В качестве аргумента задается объект класса

Date

.

Например:

System.out.println("LONG: " + DateFormat.getDateTimelnstance( 

DateFormat. LONG, DateFormat. LONG) . format (new Date ()));

или

System.out.println("FULL: " + DateFormat.getDateTimelnstance(

DateFormat.FULL,DateFormat.FULL, Locale.US).format(new Date()));



Содержание раздела