Daty z kotlinx-datetime
Bezpieczny wieloplatformowo sposób obsługi czasu i dat
Daty z kotlinx-datetime to bezpłatna lekcja Kotlin Multiplatform 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 Kotlin Multiplatform Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Kotlin Multiplatform Academy zawiera 4 lekcji w sumie.
Daty wymagają biblioteki
Podstawowa biblioteka standardowa nie zawiera wspólnego typu daty, dlatego KMP korzysta z kotlinx-datetime, oficjalnej wieloplatformowej biblioteki do obsługi czasu.
Dodaj zależność
Dodaj kotlinx-datetime do commonMain w pliku kompilacji, a następnie każdy cel będzie mógł obsługiwać daty w ten sam sposób.
implementation("org.jetbrains.kotlinx:kotlinx-datetime:0.6.0")Instant oznacza chwilę
Instant to pojedynczy punkt na osi czasu, dokładnie ta sama chwila niezależnie od urządzenia, które ją odczytuje.
val now: Instant = Clock.System.now()Strefy czasowe mają znaczenie
Ta sama chwila wygląda inaczej w zależności od TimeZone. Biblioteka pozwala bezpiecznie przekształcać chwile w lokalny czas zegarowy.
val zone = TimeZone.currentSystemDefault()LocalDateTime dla użytkowników
LocalDateTime to czytelna dla człowieka data i godzina, na przykład wpis w kalendarzu, bez przypisanej strefy czasowej.
val dt = now.toLocalDateTime(zone)Odczytywanie składowych
Z obiektu LocalDateTime można odczytać pola takie jak year, miesiąc, dzień i godzina, używając zwykłego kodu Kotlin.
val y = dt.year
val h = dt.hourLocalDate dla kalendarzy
Jeśli liczy się tylko dzień, należy użyć LocalDate. Odwzorowuje on datę bez żadnej składowej czasu.
val today: LocalDate = dt.dateWykonywanie obliczeń za pomocą Duration
Do obiektu Instant można dodać lub od niego odjąć Duration, aby przesunąć chwilę w przyszłość lub przeszłość.
val later = now.plus(1, DateTimeUnit.HOUR, zone)Parsowanie i formatowanie tekstu
kotlinx-datetime potrafi parseować ciągi ISO do postaci chwil i z powrotem zamieniać je na tekst — idealnie do danych przesyłanych przez API.
val parsed = Instant.parse("2024-01-01T00:00:00Z")Identyczne na każdej platformie
Ponieważ biblioteka jest multiplatform, logika dat zwraca taki sam wynik na Androidzie, iOS i komputerze. 🙂
Daty we wspólnym kodzie
Umieść całą obsługę czasu w commonMain, korzystając z kotlinx-datetime, aby obie aplikacje zawsze zgodnie interpretowały daty.
Szybkie sprawdzenie
Który typ oznacza jeden dokładny moment w czasie?
Podsumowanie
Do obsługi dat używaj kotlinx-datetime: Instant oznacza chwile, LocalDateTime — dane czytelne dla użytkowników, a wspólny kod działa zgodnie na różnych platformach.
Ucz się Kotlin dzięki korepetycjom AI — za darmo
Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.
- Kursy
- 30
- Lekcje
- 120
Często zadawane pytania
Czy lekcja „Daty z kotlinx-datetime” jest bezpłatna?
Tak — pełny tekst „Daty z kotlinx-datetime” 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 Kotlin Multiplatform Academy, przejdź na CoddyKit PRO. Kurs Kotlin Multiplatform Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Daty z kotlinx-datetime”?
Bezpieczny wieloplatformowo sposób obsługi czasu i dat Ćwiczysz Kotlin Multiplatform 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ąć Kotlin Multiplatform Academy?
Nie wymagamy żadnego doświadczenia. Kotlin Multiplatform 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 „Daty z kotlinx-datetime”?
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 Kotlin Multiplatform Academy?
Tak. Każda lekcja Kotlin Multiplatform 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
- Napisy, liczby i kolekcje wszędzie
- map, filter i fold we współdzielonym kodzie
- Daty z kotlinx-datetime
- Czego NIE ma we wspólnym stdlib