„Przypomniałem sobie, że chciałem ci trochę opowiedzieć o pracy z datami”.
„Powiedziałeś mi już, że Java ma klasę Date i mogę używać tej klasy do pracy z datami”.
„Hmm. Cóż, klasa Date jest od jakiegoś czasu przestarzała”.
„Teraz zaleca się zamiast tego użycie klasy Calendar, która ma metodę getTime() zwracającą bieżącą datę”.
„To jest zwykle tworzony obiekt kalendarza:”
Calendar cal = Calendar.getInstance();
„Po wywołaniu tej metody tworzony jest właściwy kalendarz na podstawie ustawień komputera”.
„Właściwy” kalendarz? Czy to znaczy, że jest ich kilka?
– Tak. Cóż, bardziej trafne byłoby określenie „istotne”. Faktem jest, że Ziemia ma nie jeden, ale wiele kalendarzy. Prawie każdy z nich jest powiązany z jakąś religią lub krajem.
„Rok może być inny w zależności od kraju, w którym się znajdujesz”.
„Oto przykłady najpopularniejszych kalendarzy”.
Klasa kalendarza | Nazwa kalendarza |
---|---|
Kalendarz gregoriański | Chrześcijański kalendarz gregoriański |
kalendarz buddyjski | Kalendarz buddyjski |
Japoński kalendarz cesarski | Japoński kalendarz cesarski |
„Istnieje również kalendarz chiński, kalendarz islamski i wiele innych”.
"Widzę."
„Aby uzyskać aktualną datę, musisz napisać kod w następujący sposób:”
Calendar cal = Calendar.getInstance();
Date date = cal.getTime();
„Klasa Calendar ma wiele metod, które pozwalają szybko uzyskać dowolne informacje o dacie i godzinie”.
Kod | Uwagi |
---|---|
|
era rok miesiąc dzień miesiąca dzień tygodnia (pon., wt., śr., …) godzina minuta sekunda |
„Czasami naprawdę potrzebujesz tylko fragmentu dostępnych informacji. Na przykład bieżący rok lub dzień tygodnia”.
„Ale czasami po prostu trzeba wyświetlić datę w odpowiednim formacie”.
„Na przykład w pliku dziennika lub w innym miejscu”.
„Albo stwórz format, który użytkownik może dostosować. Co wtedy robisz?”
„Do tego też są specjalne klasy. Klasa SimpleDateFormat doskonale nadaje się do zadania, które opisałeś:”
Calendar calendar = Calendar.getInstance();
DateFormat formatter = new SimpleDateFormat("MM-DD-YY");
String message = formatter.format(calendar.getTime());
„Ach. Pamiętam. Wyjaśniłeś mi już trochę o SimpleDateFormat , ale szczerze mówiąc, niewiele pamiętam”.
„To wszystko jest bardzo proste. Tworzysz obiekt SimpleDateFormat i przekazujesz mu wzór daty, który chcesz uzyskać. Następnie wywołujesz metodę format, która podaje przekazaną datę w pożądanej formie”.
„Brzmi interesująco. Chciałbym poznać więcej szczegółów”.
„Proszę bardzo. Szczegóły. Oto kilka liter, których można użyć we wzorze daty:”
List | Opis |
---|---|
G | Zastąpiony epoką (AD lub BC) |
y | Zastąpiony przez rok |
M | Zastąpiony przez miesiąc |
w | Numer tygodnia w roku |
W | Numer tygodnia w miesiącu |
D | Numer dnia w roku |
D | Dzień miesiąca |
F | Dzień tygodnia w miesiącu |
mi | Dzień tygodnia |
A | AM/PM (przed lub po południu) |
H | Godzina w formacie 24-godzinnym (0-23) |
k | Godzina w formacie 24-godzinnym (1-24) |
k | Godzina w formacie 12-godzinnym (0-11) |
H | Godzina w formacie 12-godzinnym (1-12) |
M | Minuty |
S | sekundy |
S | milisekundy |
z | Strefa czasowa, sformatowana w następujący sposób: Pacific Standard Time, PST |
Z | Strefa czasowa, sformatowana w następujący sposób: -0800/td> |
„Świetnie! To prawie wszystko, czego potrzebujesz”.
„Istnieją jeszcze pewne niuanse związane z powtarzaniem tych liter”.
„Jeśli napiszesz YY, otrzymasz dwie ostatnie cyfry roku. Jeśli napiszesz YYYY, otrzymasz wszystkie cztery cyfry roku”.
„Istnieje również pewna złożoność z miesiącami. MM to numer miesiąca. MMM to trzyliterowy skrót miesiąca, tj. styczeń, luty, marzec, kwiecień, maj itd. MMMM oznacza pełną nazwę miesiąca ”.
„Możesz także wyświetlić cały dzień tygodnia (używając EEEE) lub tylko dwie pierwsze litery (używając EE).”
„Dzięki, Rishi. Ta klasa SimpleDateFormat jest naprawdę przydatna. Teraz już wiem”.
"Miłego używania! I powodzenia!"
GO TO FULL VERSION