Formatowanie dat
Wyświetlanie dat za pomocą nowoczesnego API formatowania.
Formatowanie dat to bezpłatna lekcja Swift Academy na CoddyKit. To lekcja 3 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Swift Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Swift Academy zawiera 4 lekcji w sumie.
Formatowanie dat
Surowe wartości Date nie są czytelne dla ludzi. Nowoczesne API FormatStyle języka Swift przejrzyście przekształca je w ciągi znaków zgodne z ustawieniami regionalnymi.
Metoda formatted()
Wywołanie .formatted() na dacie zwraca rozsądnie sformatowany ciąg znaków zgodny z ustawieniami regionalnymi użytkownika.
import Foundation
let now = Date()
let text = now.formatted()
print("Produced a string: \(!text.isEmpty)")Date.FormatStyle
Przekazanie obiektu Date.FormatStyle pozwala określić, które elementy mają być wyświetlane, oraz niezależnie wybrać style daty i godziny.
import Foundation
let now = Date()
let s = now.formatted(date: .abbreviated, time: .omitted)
print("Has date only: \(!s.isEmpty)")Style daty i godziny
Parametry date: i time: przyjmują wartości .full, .long, .abbreviated, .numeric lub .omitted.
import Foundation
let now = Date()
let full = now.formatted(date: .complete, time: .shortened)
print(!full.isEmpty)Dostosowywanie za pomocą składowych
Styl .dateTime pozwala dokładnie połączyć wybrane pola, na przykład .year().month().day().
import Foundation
let now = Date()
let s = now.formatted(.dateTime.year().month().day())
print("Custom fields: \(!s.isEmpty)")Wybór szerokości pola
Każda składowa przyjmuje opcje, na przykład .month(.wide) wyświetla pełną nazwę miesiąca, a .month(.twoDigits) — jego postać liczbową.
import Foundation
let now = Date()
let s = now.formatted(.dateTime.month(.wide).year())
print(!s.isEmpty)Tylko godzina
Jeśli data jest znana z kontekstu, można połączyć wyłącznie pola czasu, na przykład .hour().minute().
import Foundation
let now = Date()
let t = now.formatted(.dateTime.hour().minute())
print("Time string: \(!t.isEmpty)")Formatowanie względne
RelativeFormatStyle tworzy względem bieżącej chwili wyrażenia takie jak „za 2 godziny” lub „wczoraj”.
import Foundation
let soon = Date().addingTimeInterval(3600)
let rel = soon.formatted(.relative(presentation: .named))
print("Relative phrase produced: \(!rel.isEmpty)")ISO 8601
Do danych przeznaczonych dla maszyn należy używać .formatted(.iso8601) — standardowego formatu wymiany danych dla interfejsów API.
import Foundation
let now = Date()
let iso = now.formatted(.iso8601)
print("Contains T separator: \(iso.contains("T"))")Ponowne analizowanie ciągów znaków
Style formatowania są odwracalne: można przeanalizować ciąg znaków i utworzyć z niego obiekt Date, używając odpowiadającej mu strategii.
import Foundation
let input = "2024-05-30T12:00:00Z"
if let date = try? Date(input, strategy: .iso8601) {
print("Parsed: \(date.timeIntervalSince1970 > 0)")
}FormatStyle a DateFormatter
Nowsze API FormatStyle zapewnia bezpieczeństwo typów i wymaga mniej kodu niż starszy DateFormatter, dlatego należy używać go w nowym kodzie.
import Foundation
let now = Date()
print(now.formatted(date: .long, time: .omitted).isEmpty == false)Szybkie sprawdzenie
Które wywołanie wyświetla datę, ale pomija godzinę?
Podsumowanie
API FormatStyle formatuje daty za pomocą .formatted(), konfigurowalnych stylów date:/time:, łączonych pól .dateTime, wyrażeń względnych i formatu ISO 8601. Umożliwia także ponowne analizowanie danych i jest preferowane zamiast DateFormatter. Następny temat: strefy czasowe i ustawienia regionalne.
Często zadawane pytania
Czy lekcja „Formatowanie dat” jest bezpłatna?
Tak — pełny tekst „Formatowanie dat” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Swift Academy, przejdź na CoddyKit PRO. Kurs Swift Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Formatowanie dat”?
Wyświetlanie dat za pomocą nowoczesnego API formatowania. Ćwiczysz Swift Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Swift Academy?
Nie wymagamy żadnego doświadczenia. Swift Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 4.
Ile czasu zajmuje lekcja „Formatowanie dat”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Swift Academy?
Tak. Każda lekcja Swift Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Typ Date i przedziały czasu
- Calendar i DateComponents
- Formatowanie dat
- Strefy czasowe i ustawienia regionalne