- •Дополнительные пакеты
- •Пакеты ядра Java api
- •Отражение
- •Программа 140. Состав класса
- •Программа 141. Получение сведений о методах класса
- •Текстовое форматирование
- •Класс DateFormat
- •Программа 142. Форматы даты
- •Программа 143. Форматирование времени
- •Класс SimpleDateFormat
- •Программа 144. Управление форматированием
Программа 142. Форматы даты
// Файл DateFormatDemo.java
// Демонстрирует форматы даты.
import java.text.*;
import java.util.*;
public class DateFormatDemo {
public static void main(String args[]) {
Date date = new Date();
DateFormat df;
df = DateFormat.getDateInstance(DateFormat.SHORT, Locale.JAPAN);
System.out.println("Japan: " + df.format(date));
df = DateFormat.getDateInstance(DateFormat.MEDIUM, Locale.KOREA);
System.out.println("Korea: " + df.format(date));
df = DateFormat.getDateInstance(DateFormat.LONG, Locale.UK);
System.out.println("United Kingdom: " + df.format(date));
df = DateFormat.getDateInstance(DateFormat.FULL, Locale.US);
System.out.println("United States: " + df.format(date));
df = DateFormat.getDateInstance(DateFormat.FULL, Locale.GERMAN);
System.out.println("German(FULL) : " + df.format(date));
df = DateFormat.getDateInstance(DateFormat.MEDIUM, Locale.GERMAN);
System.out.println("German(MEDIUM) : " + df.format(date));
df = DateFormat.getDateInstance(DateFormat.SHORT, Locale.GERMAN);
System.out.println("German(SHORT) : " + df.format(date));
df = DateFormat.getDateInstance(DateFormat.FULL, Locale.getDefault());
System.out.println("Default(FULL) : " + df.format(date));
df = DateFormat.getDateInstance(DateFormat.MEDIUM,
Locale.getDefault());
System.out.println("Default(MEDIUM) : " + df.format(date));
df = DateFormat.getDateInstance(DateFormat.SHORT,
Locale.getDefault());
System.out.println("Default(SHORT) : " + df.format(date));
}
}
Пример вывода этой программы:
Japan: 13/05/05
Korea: 2013. 5. 5
United Kingdom: 05 May 2013
United States: Sunday, May 5, 2013
German(FULL) : Sonntag, 5. Mai 2013
German(MEDIUM) : 05.05.2013
German(SHORT) : 05.05.13
Default(FULL) : 5 Май 2013 г.
Default(MEDIUM) : 05.05.2013
Default(SHORT) : 05.05.13
Метод getTimeInstance()возвращает объект типаDateFormat, который мoжет форматировать информацию времени. Он доступен в следующих версиях:
static final DateFormat getTimelnstance()
static final DateFormat getTimelnstance(int style)
static final DateFormat getTimelnstance(int style, Locale locale)
Параметр styleпринимает одно из следующих значений:DEFAULT,SHORT,MEDIUM,LONGилиFULL. Этоint-константы, определенные в DateFormat. Они предоставляют различные подробности относительно формата времени. Параметрlocale — одна из статических ссылок, определенных в классеLocale. Еслиstyle и/илиlocale не определены, используются значения по умолчанию.
Следующий пример программы иллюстрирует, как форматировать информацию времени. Он начинается с создания объекта типа Date, который собирает текущие сведения о дате и времени, а затем выводит информацию времени, используя различные стили и регионы.
Программа 143. Форматирование времени
// Файл TimeFormatDemo.java
// Демонстрирует форматы времени.
import java.text.*;
import java.util.*;
public class TimeFormatDemo {
public static void main(String args[]) {
Date date = new Date();
DateFormat df;
df = DateFormat.getTimeInstance(DateFormat.SHORT, Locale.JAPAN);
System.out.println("Japan: " + df.format(date));
df = DateFormat.getTimeInstance(DateFormat.LONG, Locale.UK);
System.out.println("United Kingdom: " + df.format(date));
df = DateFormat.getTimeInstance(DateFormat.FULL, Locale.CANADA);
System.out.println("Canada: " + df.format(date));
df = DateFormat.getTimeInstance(DateFormat.FULL, Locale.GERMAN);
System.out.println("German(FULL) : " + df.format(date));
df = DateFormat.getTimeInstance(DateFormat.MEDIUM, Locale.GERMAN);
System.out.println("German(MEDIUM) : " + df.format(date));
df = DateFormat.getTimeInstance(DateFormat.SHORT, Locale.GERMAN);
System.out.println("German(SHORT) : " + df.format(date));
df = DateFormat.getTimeInstance(DateFormat.FULL, Locale.getDefault());
System.out.println("Default(FULL) : " + df.format(date));
df = DateFormat.getTimeInstance(DateFormat.MEDIUM,
Locale.getDefault());
System.out.println("Default(MEDIUM) : " + df.format(date));
df = DateFormat.getTimeInstance(DateFormat.SHORT,
Locale.getDefault());
System.out.println("Default(SHORT) : " + df.format(date));
}
}
Пример вывода этой программы:
Japan: 18:12
United Kingdom: 18:12:13 MSK
Canada: 6:12:13 o'clock PM MSK
German(FULL) : 18:12 Uhr MSK
German(MEDIUM) : 18:12:13
German(SHORT) : 18:12
Default(FULL) : 18:12:13 MSK
Default(MEDIUM) : 18:12:13
Default(SHORT) : 18:12
Класс DateFormatвключает также методgetDateTimeInstance(),который можетформатировать информацию как дат, таки времени.