0Pricing
Swift Academy · Lekcja

Typ Date i przedziały czasu

Reprezentowanie punktów w czasie i czasów trwania.

Typ Date i przedziały czasu to bezpłatna lekcja Swift Academy na CoddyKit. To lekcja 1 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.

Typ Date

Date z Foundation reprezentuje pojedynczy punkt w czasie, niezależny od kalendarza i strefy czasowej. Wewnętrznie jest to liczba sekund względem daty referencyjnej.

Tworzenie daty

Date() zwraca bieżącą chwilę. Każde wywołanie zwraca moment, w którym zostaje wykonane.

import Foundation

let now = Date()
print("Now is a Date value")
print(type(of: now))

Przedziały czasu

TimeInterval to po prostu liczba sekund typu Double. Dodawanie lub odejmowanie przedziałów przesuwa datę do przodu lub do tyłu.

import Foundation

let now = Date()
let inOneHour = now.addingTimeInterval(3600)
print(inOneHour > now)

timeIntervalSince

timeIntervalSince(_:) zwraca liczbę sekund między dwiema datami jako wartość typu TimeInterval. Wartość dodatnia oznacza, że obiekt wywołujący jest późniejszy.

import Foundation

let start = Date()
let later = start.addingTimeInterval(120)
let gap = later.timeIntervalSince(start)
print("Gap seconds: \(gap)")

Porównywanie dat

Date jest zgodny z protokołem Comparable, dlatego można bezpośrednio używać operatorów <, > i == do ustalania kolejności zdarzeń.

import Foundation

let a = Date()
let b = a.addingTimeInterval(10)
print(a < b)
print(a == a)

Daty referencyjne

timeIntervalSinceReferenceDate mierzy liczbę sekund od 1 stycznia 2001 r. w UTC, natomiast timeIntervalSince1970 korzysta z epoki Unix.

import Foundation

let d = Date(timeIntervalSince1970: 0)
print(d.timeIntervalSince1970)

Tworzenie z epoki

Można utworzyć konkretny moment na podstawie znacznika czasu Unix, co jest przydatne podczas odbierania dat i godzin z serwera.

import Foundation

let epoch = Date(timeIntervalSince1970: 1_700_000_000)
print(epoch.timeIntervalSince1970)

Odległość między datami

Metoda distance(to:) z protokołów Comparable/Strideable również zwraca odstęp między dwiema datami.

import Foundation

let a = Date()
let b = a.addingTimeInterval(45)
print(a.distance(to: b))

Pomocnicze daty przeszłości i przyszłości

Statyczne właściwości .distantPast i .distantFuture udostępniają specjalne daty, które są przydatne jako wartości domyślne podczas porównań.

import Foundation

let now = Date()
print(Date.distantPast < now)
print(Date.distantFuture > now)

Pomiar upływu czasu

Należy zapisać datę początkową, wykonać operację, a następnie odjąć daty, aby zmierzyć czas trwania w sekundach.

import Foundation

let start = Date()
var total = 0
for i in 1...1000 { total += i }
let elapsed = Date().timeIntervalSince(start)
print("Sum: \(total)")
print("Elapsed >= 0: \(elapsed >= 0)")

Date nie zależy od kalendarza

Należy pamiętać, że obiekt Date nie zawiera informacji o roku, miesiącu ani dniu. Aby je wyodrębnić, potrzebny jest obiekt Calendar, któremu poświęcona jest następna lekcja.

import Foundation

let now = Date()
// To get the year you must use a Calendar, not Date alone.
print("A Date is just an instant in time.")

Szybkie sprawdzenie

Co zwraca wyrażenie laterDate.timeIntervalSince(earlierDate)?

Podsumowanie

Date reprezentuje pojedynczy moment wyrażony w sekundach. Można go przesuwać za pomocą addingTimeInterval, mierzyć odstępy za pomocą timeIntervalSince, porównywać operatorami i tworzyć na podstawie epok. Nie zależy on od kalendarza, dlatego w następnej lekcji poznają Państwo Calendar i DateComponents.

Często zadawane pytania

Czy lekcja „Typ Date i przedziały czasu” jest bezpłatna?

Tak — pełny tekst „Typ Date i przedziały czasu” 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 „Typ Date i przedziały czasu”?

Reprezentowanie punktów w czasie i czasów trwania. Ć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 1 z 4.

Ile czasu zajmuje lekcja „Typ Date i przedziały czasu”?

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

  1. Typ Date i przedziały czasu
  2. Calendar i DateComponents
  3. Formatowanie dat
  4. Strefy czasowe i ustawienia regionalne
← Powrót do Swift Academy