Analisando uma data a partir de uma string

Swift:
Analisando uma data a partir de uma string

Como Fazer:

Usando o DateFormatter da Foundation

A biblioteca padrão do Swift, Foundation, fornece DateFormatter para converter strings em objetos Date e vice-versa. Para analisar uma data a partir de uma string, você especifica o formato da data que corresponde à string, e então usa o formatador para analisá-la.

import Foundation

let dateString = "2023-04-30"
let formatter = DateFormatter()
formatter.dateFormat = "yyyy-MM-dd"
if let date = formatter.date(from: dateString) {
    print("Data analisada: \(date)")
} else {
    print("Falha ao analisar a data")
}
// Saída de Exemplo: Data analisada: 2023-04-29 22:00:00 +0000

Note que a saída pode variar com base no seu fuso horário.

Usando ISO8601DateFormatter

Para formatos de data ISO 8601, o Swift fornece um formatador especializado, ISO8601DateFormatter, que simplifica o processo de análise.

import Foundation

let dateString = "2023-04-30T15:00:00+00:00"
let isoFormatter = ISO8601DateFormatter()
if let date = isoFormatter.date(from: dateString) {
    print("Data ISO8601 analisada: \(date)")
} else {
    print("Falha ao analisar a data ISO8601")
}
// Saída de Exemplo: Data ISO8601 analisada: 2023-04-30 15:00:00 +0000

Usando Uma Biblioteca de Terceiros: SwiftDate

Embora o Swift forneça ferramentas robustas para análise de datas, bibliotecas de terceiros como SwiftDate oferecem ainda mais flexibilidade e conveniência. Após adicionar a SwiftDate ao seu projeto, a análise se torna tão simples quanto:

import SwiftDate

let dateString = "April 30, 2023"
if let date = dateString.toDate("MMMM dd, yyyy") {
    print("Data analisada com SwiftDate: \(date)")
} else {
    print("Falha ao analisar data com SwiftDate")
}
// Saída de Exemplo: Data analisada com SwiftDate: 2023-04-30 00:00:00 +0000

A SwiftDate simplifica a análise com linguagem natural e uma ampla gama de formatos de data, tornando-a uma adição poderosa ao seu toolkit de programação Swift.