Пакети јава.тиме, јава.утил, јава.скл и јава.тект садрже класе за представљање датума и времена. Следеће класе су важне за рад са датумом у Јави.
Јава 8 АПИ за датум/време
Јава је увела нови АПИ за датум и време од Јаве 8. Пакет јава.тиме садржи Јава 8 класе датума и времена.
- јава.тиме.ЛоцалДате класа
- јава.тиме.ЛоцалТиме класа
- јава.тиме.ЛоцалДатеТиме класа
- јава.тиме.МонтхДаи класа
- јава.тиме.ОффсетТиме класа
- јава.тиме.ОффсетДатеТиме класа
- јава.тиме.Цлоцк цласс
- јава.тиме.ЗонедДатеТиме класа
- јава.тиме.ЗонеИд класа
- јава.тиме.ЗонеОффсет класа
- јава.време.Година класа
- јава.тиме.ИеарМонтх класа
- јава.тиме.Период цласс
- јава.тиме.Дуратион цласс
- јава.тиме.Инстант класа
- јава.тиме.ДаиОфВеек енум
- јава.тиме.Монтх енум
Класични АПИ за датум/време
Али класични или стари Јава Дате АПИ је такође користан. Погледајмо листу класичних класа датума и времена.
- јава.утил.Дате цласс
- јава.скл.Дате цласс
- јава.утил.Цалендар цласс
- јава.утил.ГрегорианЦалендар класа
- јава.утил.ТимеЗоне класа
- јава.скл.Тиме цласс
- јава.скл.Тиместамп цласс
Форматирање датума и времена
Можемо да форматирамо датум и време у Јави користећи следеће класе:
Јава АПИ-ји за датум и време
Јава обезбеђује функционалност датума и времена уз помоћ два пакета јава.тиме и јава.утил. Пакет јава.тиме је уведен у Јаву 8, а новоуведене класе покушавају да превазиђу недостатке застарелих класа јава.утил.Дате и јава.утил.Цалендар.
Класичне АПИ класе датума и времена
Примарне класе пре издавања Јава 8 биле су:
класа против објекта јава
Јава.ланг.Систем: Класа обезбеђује метод цуррентТимеМиллис() који враћа тренутно време у милисекундама. Приказује тренутни датум и време у милисекундама од 1. јануара 1970.
јава.утил.Дате: Користи се за приказ одређеног тренутка времена, са јединицом милисекунди.
јава.утил.Цалендар: То је апстрактна класа која обезбеђује методе за конверзију између инстанци и манипулацију календарским пољима на различите начине.
јава.тект.СимплеДатеФормат: То је класа која се користи за форматирање и рашчлањивање датума на унапред дефинисан начин или кориснички дефинисан образац.
јава.утил.ТимеЗоне: Представља помак временске зоне, а такође израчунава и летње рачунање времена.
Недостаци постојећих АПИ-ја за датум/време
Нови АПИ за датум и време у Јави 8
Нови АПИ за датум помаже да се превазиђу горе наведени недостаци са старим класама. Укључује следеће класе:
јава.тиме.ЛоцалДате: Он представља годину-месец-дан у ИСО календару и користан је за представљање датума без времена. Може се користити само за представљање информација о датуму као што је датум рођења или датум венчања.
јава.тиме.ЛоцалТиме: Бави се само временом. Користан је за представљање доба дана заснованог на људима, као што су време филмова или време отварања и затварања локалне библиотеке.
јава.тиме.ЛоцалДатеТиме: Обрађује и датум и време, без временске зоне. То је комбинација ЛоцалДате са ЛоцалТиме.
јава.тиме.ЗонедДатеТиме: Комбинује класу ЛоцалДатеТиме са информацијама о зони датим у класи ЗонеИд. Представља потпуни датум и временску ознаку заједно са информацијама о временској зони.
јава.тиме.ОффсетТиме: Он рукује временом са одговарајућим помаком временске зоне од Гринича/УТЦ, без ИД-а временске зоне.
јава.тиме.ОффсетДатеТиме: Он рукује датумом и временом са одговарајућим помаком временске зоне у односу на Гринич/УТЦ, без ИД-а временске зоне.
јава.тиме.Цлоцк : Омогућава приступ тренутном тренутку, датуму и времену у било којој временској зони. Иако је употреба класе Цлоцк опциона, ова функција нам омогућава да тестирамо ваш код за друге временске зоне или коришћењем фиксног сата, где се време не мења.
јава.тиме.Инстант : Представља почетак наносекунде на временској линији (од ЕПОЦХ) и користан је за генерисање временске ознаке која представља време машине. Тренутак који се догоди пре епохе има негативну вредност, а тренутак који се догоди после епохе има позитивну вредност.
јава.тиме.Дуратион : Разлика између два тренутка и мери се у секундама или наносекундама и не користи конструкције засноване на датуму као што су године, месеци и дани, иако класа обезбеђује методе које претварају у дане, сате и минуте.
јава.тиме.Период : Користи се за дефинисање разлике између датума у вредностима заснованим на датумима (године, месеци, дани).
јава.тиме.ЗонеИд : Наводи идентификатор временске зоне и даје правила за конверзију између Инстанта и ЛоцалДатеТиме.
јава.тиме.ЗонеОффсет : Описује помак временске зоне у односу на Гринич/УТЦ време.
јава.тиме.формат.ДатеТимеФорматтер : Долази са различитим унапред дефинисаним форматерима, или можемо дефинисати свој сопствени. Има метод парсе() или формат() за рашчлањивање и форматирање вредности датума и времена.