Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Количество дней между датами. Класс GregorianCalendar




Количество дней между датами

А иногда Вам может понадобиться в Java узнать количество дней, часов, минут и т. п. между датами. Рассмотрим один из способов нахождения дней между двумя датами ниже в примере:

import java. util. *; public class Test { public static void main(String args[]) { String date1 = " 01. 03. 2016"; String date2 = " 01. 02. 2016";          SimpleDateFormat format = new SimpleDateFormat(" dd. MM. yyyy" );          Date dateOne = null; Date dateTwo = null;          try {     dateOne = format. parse(date1);      dateTwo = format. parse(date2); } catch (Exception e) {     e. printStackTrace(); }         // Количество дней между датами в миллисекундах long difference = dateOne. getTime() - dateTwo. getTime(); // Перевод количества дней между датами из миллисекунд в дни int days = (int)(difference / (24 * 60 * 60 * 1000)); // миллисекунды / (24ч * 60мин * 60сек * 1000мс) // Вывод разницы между датами в днях на экран System. out. println(days + " дн. " ); }}

Получим следующий результат:

29 дн.

Класс GregorianCalendar

GregorianCalendar является конкретной реализацией класса Calendar, который отображает обычный григорианский календарь, с которым Вы знакомы. Мы не обсуждали класс Calendar в этом учебнике, для этого Вы можете посмотреть стандартную документацию Java.

Метод getInstance() Calendar возвращает GregorianCalendar, который инициализирован по умолчанию текущей датой и временем, локализацией и часовым поясом. GregorianCalendar определяет два поля: н. э и до н. э. Они представляют собой две эпохи, которые определяются по григорианскому календарю.

Существует несколько конструкторов для объектов GregorianCalendar:

Конструктор и его описание
GregorianCalendar() Создает значение GregorianCalendar, используя по умолчанию текущей датой и временем, локализацией и часовым поясом.
GregorianCalendar(int year, int month, int date) Создает GregorianCalendar в соответствии с заданной датой в часовом поясе и локализацией по умолчанию.
GregorianCalendar(int year, int month, int date, int hour, int minute) Создает GregorianCalendar в соответствии с заданной датой и временем в часовом поясе и локализацией по умолчанию.
GregorianCalendar(int year, int month, int date, int hour, int minute, int second) Создает GregorianCalendar в соответствии с заданной датой и временем в часовом поясе и локализацией по умолчанию.
GregorianCalendar(Locale aLocale) Создает GregorianCalendar в соответствии с текущим временем в часовом поясе по умолчанию в рамках заданной локализации.
GregorianCalendar(TimeZone zone) Конструирует GregorianCalendar, основанный на текущем времени в данной зоне времени с локализацией по умолчанию.
GregorianCalendar(TimeZone zone, Locale aLocale) Конструирует GregorianCalendar, основанный на текущем времени в заданном часовом поясе и локализации.

Список нескольких полезных методов, предоставляемых классом GregorianCalendar:

Методы с описанием
void add(int field, int amount) Добавляет указанное количество времени в данное временное поле в соответствии с правилами календаря.
protected void computeFields() Преобразует время по Гринвичу в миллисекунды до значения полей времени.
protected void computeTime() Преобразует значения временного поля Календаря в UTC формате в миллисекундах.
boolean equals(Object obj) Сравнивает этот GregorianCalendar эталонным объектом.
int get(int field) Получает значение для поля заданного времени.
int getActualMaximum(int field) Возвращает максимальное значение, которое это поле может иметь, учитывая текущую дату.
int getActualMinimum(int field) Возвращает минимальное значение, которое это поле может иметь, учитывая текущую дату.
int getGreatestMinimum(int field) Возвращает наибольшее минимальное значение для данного поля, если изменяется.
Date getGregorianChange() Получает изменения даты по григорианскому календарю.
int getLeastMaximum(int field) Возвращает минимально максимальное значение для данного поля, если изменяется.
int getMaximum(int field) Возвращает максимальное значение для данного поля.
Date getTime() Определяет текущее время в соответствии с календарем.
long getTimeInMillis() Получает текущее время по Календарю как длительное.
TimeZone getTimeZone() Возвращает часовой пояс.
int getMinimum(int field) Возвращает минимальное значение для данного поля.
int hashCode() Переопределите хэш-код.
boolean isLeapYear(int year) Определяет, является ли год високосным.
void roll(int field, boolean up) Добавление или вычитание (вверх/вниз) одной единицы времени в данном временном поле без изменений в больших полях.
void set(int field, int value) Устанавливает временное поле с заданным значением.
void set(int year, int month, int date) Задает значения для поля год, месяц и дата.
void set(int year, int month, int date, int hour, int minute) Задает значения для поля год, месяц, дату, час и минуту.
void set(int year, int month, int date, int hour, int minute, int second) Задает значения для поля год, месяц, дату, час, минуту и секунду.
void setGregorianChange(Date date) Устанавливает дату изменения грегорианского календаря.
void setTime(Date date) Устанавливает в соответствии с данным календарем текущее время с заданной датой.
void setTimeInMillis(long millis) Устанавливает в соответствии с данным календарем текущее время от заданного long значения.
void setTimeZone(TimeZone value) Задает часовой пояс со значением заданного часового пояса.
String toString() Возвращает строковое представление календаря.
Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...