Date-tyyppi ja aikavälit
Esitä ajanhetkiä ja kestoja.
Date-tyyppi ja aikavälit on ilmainen Swift Academy-oppitunti CoddyKitissä. Tämä on oppitunti 1/4. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu Swift Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Swift Academy-kurssilla on yhteensä 4 oppituntia.
Date-tyyppi
Foundationin Date edustaa yhtä ajanhetkeä kalenterista ja aikavyöhykkeestä riippumatta. Sisäisesti se on viitemääräpäivään nähden laskettu sekuntimäärä.
Date-arvon luominen
Date() antaa nykyisen ajanhetken. Jokainen kutsu palauttaa juuri suoritushetkellä vallitsevan ajanhetken.
import Foundation
let now = Date()
print("Now is a Date value")
print(type(of: now))Aikavälit
TimeInterval on yksinkertaisesti sekuntimäärä tyypiltään Double. Lisäämällä tai vähentämällä aikavälejä voitte siirtää päivämäärää eteen- tai taaksepäin.
import Foundation
let now = Date()
let inOneHour = now.addingTimeInterval(3600)
print(inOneHour > now)timeIntervalSince
timeIntervalSince(_:) palauttaa kahden päivämäärän välisen ajan sekunteina TimeInterval-arvona. Positiivinen arvo tarkoittaa, että vastaanottava päivämäärä on myöhempi.
import Foundation
let start = Date()
let later = start.addingTimeInterval(120)
let gap = later.timeIntervalSince(start)
print("Gap seconds: \(gap)")Päivämäärien vertaaminen
Date toteuttaa Comparable-protokollan, joten voitte käyttää suoraan operaattoreita <, > ja == tapahtumien järjestämiseen.
import Foundation
let a = Date()
let b = a.addingTimeInterval(10)
print(a < b)
print(a == a)Viitepäivämäärät
timeIntervalSinceReferenceDate mittaa sekunnit 1. tammikuuta 2001 UTC lähtien, kun taas timeIntervalSince1970 käyttää Unix-epookkia.
import Foundation
let d = Date(timeIntervalSince1970: 0)
print(d.timeIntervalSince1970)Luominen epookista
Voitte luoda tietyn ajanhetken Unix-aikaleiman perusteella. Tämä on hyödyllistä, kun vastaanotatte ajan palvelimelta.
import Foundation
let epoch = Date(timeIntervalSince1970: 1_700_000_000)
print(epoch.timeIntervalSince1970)Päivämäärien välinen etäisyys
Comparable/Strideable-protokollista peräisin oleva distance(to:)-metodi antaa myös kahden päivämäärän välisen aikavälin.
import Foundation
let a = Date()
let b = a.addingTimeInterval(45)
print(a.distance(to: b))Menneisyyden ja tulevaisuuden apuarvot
Staattiset ominaisuudet .distantPast ja .distantFuture tarjoavat erityiset päivämäärät, jotka ovat käteviä vertailujen oletusarvoina.
import Foundation
let now = Date()
print(Date.distantPast < now)
print(Date.distantFuture > now)Kuluneen ajan mittaaminen
Tallentakaa aloituspäivämäärä, suorittakaa työ ja vähentäkää päivämäärät toisistaan mitataksenne, kuinka kauan toiminto kesti sekunteina.
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 ei riipu kalenterista
Muistakaa: Date ei sisällä tietoa vuodesta, kuukaudesta tai päivästä. Niiden poimimiseen tarvitsette Calendar-arvon, joka esitellään seuraavassa oppitunnissa.
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.")Pikatarkistus
Mitä laterDate.timeIntervalSince(earlierDate) palauttaa?
Kertaus
Date on sekunteina mitattu yksittäinen ajanhetki. Voitte siirtää sitä addingTimeInterval-metodilla, mitata aikavälejä timeIntervalSince-metodilla, verrata arvoja operaattoreilla ja luoda arvoja epookkien perusteella. Se ei riipu kalenterista, joten seuraavassa oppitunnissa esitellään Calendar ja DateComponents.
Opi Swift tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 122
- Oppitunnit
- 409
Usein kysytyt kysymykset
Onko oppitunti ”Date-tyyppi ja aikavälit” ilmainen?
Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa Swift Academy-oppimispolun 3 oppituntia, myös oppitunnin “Date-tyyppi ja aikavälit”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Swift Academy-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Date-tyyppi ja aikavälit”?
Esitä ajanhetkiä ja kestoja. Harjoittelet Swift Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Swift Academy-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Swift Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/4.
Kuinka kauan ”Date-tyyppi ja aikavälit”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Swift Academy-oppitunnilla?
Kyllä. Jokainen Swift Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Date-tyyppi ja aikavälit
- Calendar ja DateComponents
- Päivämäärien muotoilu
- Aikavyöhykkeet ja lokaalit