У овом упутству ћете научити -
- Прикажи тренутни датум у Јави
- СимплеДатеФормат: Анализирање и форматирање датума
- Пример поређења датума
Прво да схватимо параметре који се састоје од датума .
Првенствено ће садржати -
- Иеар (било у 2 или 4 цифре)
- Месец (било у 2 цифре, прва 3 слова у месецу или цела реч у месецу).
- Датум (то ће бити стварни датум у месецу).
- Дан (дан на одређени датум - као Сун, пон, уто, итд)
Што се тиче рачунарских система, постоји прилично пуно параметара који се могу користити за повезивање са датумом. Видећемо их у каснијим деловима ове теме.
Прикажи датум у Јави
Сада да видимо како нам Јава даје датум. Прво ћемо видети како да добијемо тренутни датум-
Јава пружа класу Дате у пакету јава.утил, пакет нуди неколико метода за поигравање са датумом.
Објекат Дате можете користити позивањем конструктора класе Дате на следећи начин:
import java.util.Date;class Date_Ex1 {public static void main(String args[]) {// Instantiate a Date object by invoking its constructorDate objDate = new Date();// Display the Date & Time using toString()System.out.println(objDate.toString());}}
Излаз:
Wed Nov 29 06:36:22 UTC 2017
У горњем примеру датума приказаног у подразумеваном формату, Ако желимо да датум и време прикажемо у другом формату, прво разумемо Форматирање датума.
СимплеДатеФормат: Анализирање и форматирање датума
Сигурно сте сви научили абецеде у свом вртићу
…Научимо сада АБЦ-је формата датума.
Писмо | Компонента датума или времена | Примери |
---|---|---|
Г. | Означивач ере | АД |
г. | Године | 2018 |
М. | Месец у години | Јула или јула или 07 |
в | Седмица у години | 27 |
В | Седмица у месецу | 2 |
Д. | Дан у години | 189 |
д | Дан у месецу | 10 |
Ф | Дан у недељи у месецу | 2 |
Е. | Назив дана у недељи | Уторак или уторак |
у | Број дана у недељи (1 = понедељак,…, 7 = недеља) | 1 |
а | Ознака ам / пм | ПОСЛЕ ПОДНЕ |
Х. | Сат у дану (0-23) | 0 |
к | Сат у дану (1-24) | 24 |
К. | Сат у ам / пм (0-11) | 0 |
х | Сат у ам / пм (1-12) | 12 |
м | Минут у сату | 30 |
с | Друго у минуту | 55 |
С. | Милисекунда | 978 |
з | Временска зона | Пацифичко стандардно време; ПСТ; ГМТ-08: 00 |
З. | Временска зона | -0800 |
Икс | Временска зона | -08 или -0800 или -08: 00 |
Не брините, не морате се сјећати свих ових, на њих можете упутити било када да бисте форматирали одређени датум.
Како се користи СимплеДатеФормат?
Јава нуди класу под називом СимплеДатеФормат која вам омогућава да форматирате и рашчланите датуме у складу са вашим захтевима.
Горе наведене знакове можете користити за одређивање формата - На пример:
1) Потребан формат датума: 2012.10.23 20:20:45 ПСТ
Одговарајући формат датума биће иииии.ММ.дд ВХ: мм: сс ззз
2) Потребан формат датума: 09:30:00, 23. мај 2012
Наведени одговарајући формат датума биће : хх: мм: сс а дд-МММ-ииии
Савет: Будите опрезни с великим словима. Ако погрешите М са м, добићете нежељене резултате!
Научимо ово на примеру кода.
import java.text.SimpleDateFormat;import java.util.Date;class TestDates_Format {public static void main(String args[]) {Date objDate = new Date(); // Current System Date and time is assigned to objDateSystem.out.println(objDate);String strDateFormat = "hh:mm:ss a dd-MMM-yyyy"; //Date format is SpecifiedSimpleDateFormat objSDF = new SimpleDateFormat(strDateFormat); //Date format string is passed as an argument to the Date format objectSystem.out.println(objSDF.format(objDate)); //Date formatting is applied to the current date}}
Излаз:
Wed Nov 29 06:31:41 UTC 201706:31:41 AM 29-Nov-2017
Пример поређења датума
Најкориснији метод упоређивања датума је коришћење методе - цомпареТо ()
Погледајмо доњи одломак кода-
import java.text.SimpleDateFormat;import java.text.ParseException;import java.util.Date;class TestDates_Compare {public static void main(String args[]) throws ParseException {SimpleDateFormat objSDF = new SimpleDateFormat("dd-mm-yyyy");Date dt_1 = objSDF.parse("20-08-1981");Date dt_2 = objSDF.parse("12-10-2012");System.out.println("Date1 : " + objSDF.format(dt_1));System.out.println("Date2 : " + objSDF.format(dt_2));if (dt_1.compareTo(dt_2)> 0) {System.out.println("Date 1 occurs after Date 2");} // compareTo method returns the value greater than 0 if this Date is after the Date argument.else if (dt_1.compareTo(dt_2) < 0) {System.out.println("Date 1 occurs before Date 2");} // compareTo method returns the value less than 0 if this Date is before the Date argument;else if (dt_1.compareTo(dt_2) == 0) {System.out.println("Both are same dates");} // compareTo method returns the value 0 if the argument Date is equal to the second Date;else {System.out.println("You seem to be a time traveller !!");}}}Излаз:
Date1 : 20-08-1981Date2 : 12-10-2012Date 1 occurs before Date 2