Представление
даты и времени
Различные способы представления
дат и показаний времени можно осуществить методами, собранными в абстрактный
класс
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()));