SimpleDateFormat – Форматирање датума у Java-и
Увод
Java класа SimpleDateFormat
обезбеђује једноставан и флексибилан начин за форматирање и парсирање објеката дате представе у низове и обрнуто. Ова класа је део пакета java.text
и пружа низ опција за прилагођавање формата датума и времена према специфичним потребама.
У овом чланку ћемо детаљно истражити SimpleDateFormat
, укључујући његове методе, синтаксу и различите опције форматирања. Такође ћемо размотрити практичне примене и пружити примере који ће вам помоћи да разумете како овај моћни алат може побољшати ваше руковање датумима у Java апликацијама.
Форматирање датума
За форматирање датума помоћу SimpleDateFormat
, потребно је креирати инстанцу ове класе и специфицирати шаблон формата. Шаблон формата је низ који дефинише како ће се датум форматирати. Следећа табела наводи неке често коришћене специјафикаторе формата:
| Спецификатор | Опис |
|—|—|
| y
| Година (на пример, 2023) |
| M
| Месец (бројчано, на пример, 01 за јануар) |
| d
| Дан у месецу (бројчано, на пример, 01 за први дан) |
| H
| Сат (0-23) |
| m
| Минут (0-59) |
| s
| Секунд (0-59) |
| a
| Пре подне/поподне |
Синтакса
Синтакса за форматирање датума уз помоћ SimpleDateFormat
је следећа:
java
String format(Date date);
где је date
објекат класе Date
који желите да форматирате, а резултујући форматирани стринг се чува у променљивој.
Пример
Следећи код ће илустровати како да форматирамо датум у стринг:
java
import java.text.SimpleDateFormat;
import java.util.Date;
public class Example {
public static void main(String[] args) {
Date date = new Date();
// Креирамо SimpleDateFormat инстанцу са шаблоном формата
SimpleDateFormat format = new SimpleDateFormat("dd-MM-yyyy");
// Форматирамо датум у стринг
String formattedDate = format.format(date);
// Исписујемо форматирани датум
System.out.println(formattedDate);
}
}
Излаз овог кода ће бити форматирани датум, на пример: 01-01-2023
.
Парсирање датума
Поред форматирања, SimpleDateFormat
се може користити и за парсирање датума из низова у објекте Date
. Синтакса за парсирање датума је следећа:
java
Date parse(String dateString);
где је dateString
низ који желите да парсирате, а резултујући објекат Date
се чува у променљивој.
Пример
Следећи код ће илустровати како да парсирамо датум из низа:
java
import java.text.SimpleDateFormat;
import java.util.Date;
public class Example {
public static void main(String[] args) {
String dateString = "01-01-2023";
// Креирамо SimpleDateFormat инстанцу са шаблоном формата
SimpleDateFormat format = new SimpleDateFormat("dd-MM-yyyy");
// Парсирамо датум из низа
Date date = format.parse(dateString);
// Исписујемо парсирани датум
System.out.println(date);
}
}
Излаз овог кода ће бити објекат Date
који представља парсирани датум.
Напредно форматирање
Поред основних спецификатора формата, SimpleDateFormat
нуди и низ додатних опција за напредније форматирање. Ове опције укључују:
* Ескејп секвенце: Ескејп секвенце се користе за укључивање специјалних карактера у шаблон формата, попут апострофа или двоструких навода.
* Опциони спецификатори: Опциони спецификатори се користе за спецификовање алтернативних формата за различите вредности.
* Зоне временске разлике: SimpleDateFormat
може да управља зонама временске разлике и форматирању времена према одређеној временској зони.
Практичне примене
SimpleDateFormat
је изузетно користан у широком спектру Java апликација, укључујући:
* Форматирање датума и времена за приказ кориснику у читаљивом формату.
* Парсирање датума и времена из уноса корисника или спољних извора.
* Валидација датума и времена према одређеним правилима и форматима.
* Конвертовање датума и времена између различитих формата.
Закључак
SimpleDateFormat
је моћно и флексибилно средство које Java програмерима омогућава да ефикасно форматирају и парсирају датуме и времена. Ова класа пружа низ опција за прилагођавање формата датума и времена специфичним потребама апликације. Уз разумевање његове синтаксе и могућности, SimpleDateFormat
може значајно побољшати управљање датумима и временима у Java апликацијама.
Често постављана питања (FAQs)
1. Шта је SimpleDateFormat
?
SimpleDateFormat
је Java класа која се користи за форматирање и парсирање објеката дате представе у низове и обрнуто.
2. Како форматирати датум уз помоћ SimpleDateFormat
?
Да бисте форматирали датум, креирајте SimpleDateFormat
инстанцу са шаблоном формата и позовите методу format
на објекту Date
.
3. Како парсирати датум уз помоћ SimpleDateFormat
?
Да бисте парсирали датум, креирајте SimpleDateFormat
инстанцу са шаблоном формата и позовите методу parse
на низу који садржи датум.
4. Који су различити спецификатори формата које SimpleDateFormat
пружа?
SimpleDateFormat
пружа различите спецификаторе формата за годину, месец, дан, сат, минут и секунду. Такође подржава ескејп секвенце, опционе спецификаторе и зоне временске разлике.
5. Шта је шаблон формата?
Шаблон формата је низ који дефинише како ће се датум форматирати и који укључује спецификаторе формата.
6. Да ли SimpleDateFormat
може да управља зонама временске разлике?
Да, SimpleDateFormat
може да управља зонама временске разлике и форматирању времена према одређеној временској зони.
7. Које су практичне примене SimpleDateFormat
?
SimpleDateFormat
се користи за форматирање и парсирање датума и времена у читаљивим форматима, валидацију датума и времена и конвертовање датума и времена између различитих формата.
8. Где могу наћи додатне информације о SimpleDateFormat
?
Званичну Java документацију о SimpleDateFormat
можете пронаћи на Oracle сајту.
`