Читаем Java 7 полностью

setDefault(TimeZone zone).

Класс Calendar

Класс Calendar — абстрактный, в нем собраны общие свойства большинства календарей: юлианского, григорианского, лунного. В Java API пока есть только одна его реализация — подкласс GregorianCalendar.

Поскольку Calendar — абстрактный класс, его экземпляры создаются четырьмя статическими методами по заданной локали и/или часовому поясу:

Calendar getInstance();

Calendar getInstance(Locale loc);

Calendar getInstance(TimeZone tz);

Calendar getInstance(TimeZone tz, Locale loc);

Для работы с месяцами определены целочисленные константы от January до December, а для работы с днями недели — константы от Monday до Sunday.

Первый день недели можно узнать методом int getFirstDayOfWeek(), а установить — методом setFirstDayOfWeek(int day), например:

setFirstDayOfWeek(Calendar.MONDAY);

Остальные методы позволяют просмотреть время и часовой пояс или установить их.

Метод get(int field) возвращает элемент календаря, заданный параметром field. Для этого параметра в классе Calendar определены следующие статические целочисленные

константы:
ERAWEEK OF YEARDAY OF WEEKSECOND
YEARWEEK OF MONTHDAY OF WEEK IN MONTHMILLISECOND
MONTHDAY OF YEARHOUR OF DAYZONE OFFSET
DATEDAY OF MONTHMINUTEDST_OFFSET
Метод set (int field, int value), использующий эти константы, устанавливает соответствующие значения даты и времени, оставляя остальные значения без изменения. Еще

несколько методов set () устанавливают дату и время по дням, часам, минутам и другим элементам.

Метод setTime(Date d), наиболее часто применяемый для заполнения календаря, устанавливает в календарь все элементы даты d полностью.

Подкласс GregorianCalendar

В григорианском календаре две целочисленные константы определяют эры: bc (Before Christ) и ad (Anno Domini).

Семь конструкторов определяют календарь по времени, часовому поясу и/или локали:

GregorianCalendar();

GregorianCalendar(int year, int month, int date);

GregorianCalendar(int year, int month, int date, int hour, int minute); GregorianCalendar(int year, int month, int date, int hour, int minute, int second); GregorianCalendar(Locale loc);

GregorianCalendar(TimeZone tz);

GregorianCalendar(TimeZone tz, Locale loc);

После создания объекта следует определить дату перехода с юлианского календаря на григорианский календарь методом setGregorianChange(Date date). По умолчанию это 15 октября 1582 г. На территории России переход на григорианский календарь был осуществлен 14 февраля 1918 г., значит, создание объекта greg надо выполнить так:

GregorianCalendar greg = new GregorianCalendar(); greg.setGregorianChange(new

GregorianCalendar(1918, Calendar.FEBRUARY, 14).getTime());

Узнать, является ли год високосным в григорианском календаре, можно логическим методом isLeapYear ().

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

Различные способы представления дат и показаний времени можно осуществить методами, собранными в абстрактный класс DateFormat и его подкласс SimpleDateFormat из пакета j ava. text.

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

□ short — представляет дату и время в коротком числовом виде: 27.07.11 17:32; в локали США: 07/27/11 5:32 PM;

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

□ long — представляет месяц словом и добавляет часовой пояс:

27 июль 2011 г. 17:32:45 GMT+03:00;

□ full — в русской локали таков же, как и стиль long; в локали США добавляется еще день недели.

Есть еще стиль default, совпадающий со стилем medium.

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

SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy hh.mm");

System.out.println(sdf.format(new Date()));

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

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

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

Не во всех локалях можно создать объект класса SimpleDateFormat. В таких случаях используются статические методы getinstance () класса DateFormat, возвращающие объект класса DateFormat. Параметрами этих методов служат стиль представления даты и времени и, может быть, локаль.

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

Date.

Например:

System.out.println("LONG: " + DateFormat.getDateTimeInstance( DateFormat.LONG, DateFormat.LONG).format(new Date()));

или

Перейти на страницу:

Все книги серии В подлиннике

Java 7
Java 7

Рассмотрено все необходимое для разработки, компиляции, отладки и запуска приложений Java. Изложены практические приемы использования как традиционных, так и новейших конструкций объектно-ориентированного языка Java, графической библиотеки классов Swing, расширенной библиотеки Java 2D, работа со звуком, печать, способы русификации программ. Приведено полное описание нововведений Java SE 7: двоичная запись чисел, строковые варианты разветвлений, "ромбовидный оператор", NIO2, новые средства многопоточности и др. Дано подробное изложение последней версии сервлетов, технологии JSP и библиотек тегов JSTL. Около двухсот законченных программ иллюстрируют рассмотренные приемы программирования. Приведена подробная справочная информация о классах и методах Core Java API.

Ильдар Шаукатович Хабибуллин

Программирование, программы, базы данных

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных

Все жанры