Swift:
Analysera ett datum från en sträng
Hur man gör:
Använda Foundations DateFormatter
Swifts standardbibliotek, Foundation, tillhandahåller DateFormatter
för att konvertera strängar till Date
-objekt och vice versa. För att tolka ett datum från en sträng specificerar du det datumformat som matchar strängen, sedan använder du formateraren för att tolka den.
import Foundation
let dateString = "2023-04-30"
let formatter = DateFormatter()
formatter.dateFormat = "yyyy-MM-dd"
if let date = formatter.date(from: dateString) {
print("Tolkat datum: \(date)")
} else {
print("Misslyckades med att tolka datum")
}
// Exempelutskrift: Tolkat datum: 2023-04-29 22:00:00 +0000
Notera att utskriften kan variera baserat på din tidszon.
Använda ISO8601DateFormatter
För ISO 8601-datumformat erbjuder Swift en specialiserad formaterare, ISO8601DateFormatter
, som förenklar tolkningsprocessen.
import Foundation
let dateString = "2023-04-30T15:00:00+00:00"
let isoFormatter = ISO8601DateFormatter()
if let date = isoFormatter.date(from: dateString) {
print("Tolkat ISO8601-datum: \(date)")
} else {
print("Misslyckades med att tolka ISO8601-datum")
}
// Exempelutskrift: Tolkat ISO8601-datum: 2023-04-30 15:00:00 +0000
Använda ett tredjepartsbibliotek: SwiftDate
Även om Swift tillhandahåller robusta verktyg för datumtolkning, erbjuder tredjepartsbibliotek som SwiftDate ännu större flexibilitet och bekvämlighet. Efter att ha lagt till SwiftDate i ditt projekt blir tolkningen så enkel som:
import SwiftDate
let dateString = "April 30, 2023"
if let date = dateString.toDate("MMMM dd, yyyy") {
print("Tolkat datum med SwiftDate: \(date)")
} else {
print("Misslyckades med att tolka datum med SwiftDate")
}
// Exempelutskrift: Tolkat datum med SwiftDate: 2023-04-30 00:00:00 +0000
SwiftDate förenklar tolkning med naturligt språk och ett brett utbud av datumformat, vilket gör det till ett kraftfullt tillskott till ditt Swift-programmeringsverktygslåda.