Formatowanie dat
Część sekcji Logika i przepływ sterowania ścieżki Java w Coddy. Lekcja 58 z 59.
DateTimeFormatter w języku Java pozwala formatować daty i godziny według różnych wzorców. Można go używać z LocalDate, LocalTime i LocalDateTime.
Utwórz formater z określonym wzorcem:
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");Sformatuj datę za pomocą formatowania:
LocalDate date = LocalDate.of(2024, 3, 15);
String formatted = date.format(formatter);Po wykonaniu powyższego kodu formatted zawiera:
2024-03-15
Przekształć ciąg znaków w datę:
String dateStr = "2024-03-15";
LocalDate date = LocalDate.parse(dateStr, formatter);Wyzwanie
ŁatwyUtwórz metodę o nazwie formatDate, która przyjmuje trzy argumenty:
- String (
dateStr) w formacie "yyyy-MM-dd" - String (
inputPattern) — wzorzec daty wejściowej - String (
outputPattern) — żądany wzorzec wyjściowy
Metoda powinna:
- Parsować datę wejściową przy użyciu wzorca wejściowego
- Formatować ją przy użyciu wzorca wyjściowego
- Obsługiwać następujące wzorce:
- "basic": "yyyy-MM-dd"
- "long": "MMMM d, yyyy"
- "short": "MM/dd/yy"
- "custom": ciąg znaków określający wzorzec
Zwracane komunikaty powinny być następujące:
- Jeśli data jest nieprawidłowa: zwróć "Invalid date format"
- Jeśli wzorzec jest nieprawidłowy: zwróć "Invalid pattern"
- W przypadku powodzenia: zwróć sformatowaną datę
Spróbuj swoich sił
import java.util.Scanner;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeParseException;
public class Main {
public static String formatDate(String dateStr, String inputPattern, String outputPattern) {
// Napisz tutaj swój kod
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String dateStr = scanner.nextLine();
String inputPattern = scanner.nextLine();
String outputPattern = scanner.nextLine();
System.out.println(formatDate(dateStr, inputPattern, outputPattern));
}
}Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Logika i przepływ sterowania
1Tablice wielowymiarowe
Podstawy tablic 2DDostęp do elementów tablic 2DPętle zagnieżdżone z tablicami 2DPodsumowanie — tablice 2DDodawanie i odejmowanie macierzyTablice postrzępioneTablice 3D i większeTypowe wzorce dla tablic 2DPodsumowanie — wszystko o tablicach4HashSet — część 1
Czym jest HashSet?Dodawanie elementuUsuwanie elementuSprawdzanie, czy element istniejePusty i rozmiarCzyszczenie i klonowaniePodsumowanie — HashSet10Data i czas
Podstawy LocalDateOperacje na LocalTimeZastosowanie LocalDateTimePeriod i DurationFormatowanie datObsługa stref czasowych2HashMap część 1
Czym jest HashMap?Deklarowanie HashMapDostęp do wartościSprawdzanie, czy klucz istniejeModyfikowanie słownikówPodsumowanie — HashMap3HashMap — część 2
Metody HashMapIterowanie za pomocą keySet()Iterowanie za pomocą entrySet()Zagnieżdżona HashMapPowtórka — zarządzanie magazynemPowtórka — operacje na HashMap6Zaawansowany przepływ sterowania
Instrukcje etykietująceWyrażenie switchDopasowywanie wzorcówKlauzule ochronnePowtórzenie — przepływ sterowania9Projekt — licznik unikalnych słów
Wprowadzanie i przechowywanie tekstuPrzetwarzanie słówPoćwicz samodzielnie: Kompilator Java online