Swift Academy · Lektion

Formatering af datoer

Vis datoer med den moderne formaterings-API.

Lektion 3 af 413 trin

Formatering af datoer er en gratis Swift Academy-lektion på CoddyKit. Dette er lektion 3 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i Swift Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Swift Academy-kurset indeholder 4 lektioner i alt.

Formatering af datoer

Rå Date-værdier kan ikke læses af mennesker. Swifts moderne FormatStyle-API omdanner dem på en enkel måde til lokaliserede strenge.

Metoden formatted()

Hvis du kalder .formatted() på en dato, får du en fornuftig standardstreng til brugerens lokalitet.

import Foundation

let now = Date()
let text = now.formatted()
print("Produced a string: \(!text.isEmpty)")

Date.FormatStyle

Send en Date.FormatStyle for at styre, hvilke dele der vises, og vælg dato- og klokkeslætstile uafhængigt af hinanden.

import Foundation

let now = Date()
let s = now.formatted(date: .abbreviated, time: .omitted)
print("Has date only: \(!s.isEmpty)")

Dato- og klokkeslætstile

Parametrene date: og time: accepterer .full, .long, .abbreviated, .numeric eller .omitted.

import Foundation

let now = Date()
let full = now.formatted(date: .complete, time: .shortened)
print(!full.isEmpty)

Tilpasning med komponenter

Stilen .dateTime lader dig sammensætte præcis de felter, du ønsker, f.eks. .year().month().day().

import Foundation

let now = Date()
let s = now.formatted(.dateTime.year().month().day())
print("Custom fields: \(!s.isEmpty)")

Valg af feltbredde

Hver komponent accepterer indstillinger, f.eks. .month(.wide) for det fulde navn eller .month(.twoDigits) for en numerisk form.

import Foundation

let now = Date()
let s = now.formatted(.dateTime.month(.wide).year())
print(!s.isEmpty)

Kun klokkeslæt

Sammensæt kun klokkeslætsfelter, når datoen allerede er underforstået, f.eks. .hour().minute().

import Foundation

let now = Date()
let t = now.formatted(.dateTime.hour().minute())
print("Time string: \(!t.isEmpty)")

Relativ formatering

RelativeFormatStyle opretter formuleringer som »om 2 timer« eller »i går« i forhold til nu.

import Foundation

let soon = Date().addingTimeInterval(3600)
let rel = soon.formatted(.relative(presentation: .named))
print("Relative phrase produced: \(!rel.isEmpty)")

ISO 8601

Brug .formatted(.iso8601) til maskinlæsbare resultater, som er standardformatet til udveksling mellem API'er.

import Foundation

let now = Date()
let iso = now.formatted(.iso8601)
print("Contains T separator: \(iso.contains("T"))")

Fortolkning af strenge

Formateringsstile kan bruges begge veje: Du kan fortolke en streng som en Date ved hjælp af den tilsvarende strategi.

import Foundation

let input = "2024-05-30T12:00:00Z"
if let date = try? Date(input, strategy: .iso8601) {
    print("Parsed: \(date.timeIntervalSince1970 > 0)")
}

FormatStyle kontra DateFormatter

Den nye FormatStyle-API er typesikker og hurtigere at skrive med end den ældre DateFormatter. Foretræk den i ny kode.

import Foundation

let now = Date()
print(now.formatted(date: .long, time: .omitted).isEmpty == false)

Hurtigt tjek

Hvilket kald viser datoen, men udelader klokkeslættet?

Opsummering

FormatStyle-API'et formaterer datoer med .formatted(), konfigurerbare date:/time:-stile, sammensættelige .dateTime-felter, relative formuleringer og ISO 8601. Det kan bruges begge veje til fortolkning og foretrækkes frem for DateFormatter. Næste emne er tidszoner og lokaliteter.

Gratis at komme i gang

Lær Swift med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
122
Lektioner
409

Ofte stillede spørgsmål

Er lektionen “Formatering af datoer” gratis?

Ja — alle 3 lektioner i læringssporet Swift Academy, inklusive “Formatering af datoer”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Swift Academy-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Formatering af datoer”?

Vis datoer med den moderne formaterings-API. Du øver dig i Swift Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Swift Academy?

Der kræves ingen tidligere erfaring. Swift Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 3 af 4.

Hvor lang tid tager lektionen “Formatering af datoer”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Swift Academy-lektion?

Ja. Alle Swift Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Typen Date og tidsintervaller
  2. Calendar og DateComponents
  3. Formatering af datoer
  4. Tidszoner og locales
← Tilbage til Swift Academy