Swift Academy · Oppitunti

Date-tyyppi ja aikavälit

Esitä ajanhetkiä ja kestoja.

Oppitunti 1/413 vaihetta

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.

Aloita maksutta

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

  1. Date-tyyppi ja aikavälit
  2. Calendar ja DateComponents
  3. Päivämäärien muotoilu
  4. Aikavyöhykkeet ja lokaalit
← Takaisin: Swift Academy