Swift:
Omvandla ett datum till en sträng
Hur gör man:
import Foundation
let nu = Date()
let formatter = DateFormatter()
formatter.dateStyle = .short
formatter.timeStyle = .short
let datumStrang = formatter.string(from: nu)
print(datumStrang) // Output kan variera: "2023-03-25, 12:47"
Djupdykning:
Historiskt sett har datumhantering varit knepig på grund av olika tidzoner och format. Swift erbjuder DateFormatter
för att hantera dessa problem. Alternativet till DateFormatter
kunde vara att manuellt konvertera ett Date
-objekt till en sträng, men det är riskabelt och opraktiskt med tanke på internationell användning.
Viktigt att tänka på är DateFormatter
inställningar som locale
och timeZone
som kan påverka utskriften. Till exempel, om en användare är i Sverige och appen visar datum på engelska kan det bli förvirrande.
En annan aspekt är prestanda; DateFormatter
kan vara tungt att skapa så det är bra att återanvända dem om möjligt, särskilt inuti listor eller där många datum ska formateras.
Se även:
- Apple’s Datum och Tid Programmeringsguide: https://developer.apple.com/documentation/foundation/date_and_time_programming_guide
- Swift-dokumentation för
DateFormatter
: https://developer.apple.com/documentation/foundation/dateformatter - TimeZone och Locale hantering: https://developer.apple.com/documentation/foundation/timezone