Formatação de Datas
Exiba datas com a API moderna de formatação.
Formatação de Datas é uma aula grátis de Swift Academy no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Swift Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Swift Academy inclui 4 aulas no total.
Formatando datas
Valores brutos de Date não são legíveis para as pessoas. A API moderna FormatStyle do Swift os transforma claramente em strings localizadas.
O método formatted()
Chamar .formatted() em uma data fornece uma string padrão adequada para a localidade do usuário.
import Foundation
let now = Date()
let text = now.formatted()
print("Produced a string: \(!text.isEmpty)")Date.FormatStyle
Passe um Date.FormatStyle para controlar quais partes serão exibidas, escolhendo estilos de data e hora de forma independente.
import Foundation
let now = Date()
let s = now.formatted(date: .abbreviated, time: .omitted)
print("Has date only: \(!s.isEmpty)")Estilos de data e hora
Os parâmetros date: e time: aceitam .full, .long, .abbreviated, .numeric ou .omitted.
import Foundation
let now = Date()
let full = now.formatted(date: .complete, time: .shortened)
print(!full.isEmpty)Personalizando com componentes
O estilo .dateTime permite compor exatamente os campos desejados, como .year().month().day().
import Foundation
let now = Date()
let s = now.formatted(.dateTime.year().month().day())
print("Custom fields: \(!s.isEmpty)")Escolhendo a largura do campo
Cada componente aceita opções, por exemplo, .month(.wide) para o nome completo ou .month(.twoDigits) para uma forma numérica.
import Foundation
let now = Date()
let s = now.formatted(.dateTime.month(.wide).year())
print(!s.isEmpty)Somente hora
Componha apenas os campos de hora quando a data estiver implícita, por exemplo, .hour().minute().
import Foundation
let now = Date()
let t = now.formatted(.dateTime.hour().minute())
print("Time string: \(!t.isEmpty)")Formatação relativa
RelativeFormatStyle produz frases como "em 2 horas" ou "ontem" em relação ao momento atual.
import Foundation
let soon = Date().addingTimeInterval(3600)
let rel = soon.formatted(.relative(presentation: .named))
print("Relative phrase produced: \(!rel.isEmpty)")ISO 8601
Para obter uma saída legível por máquinas, use .formatted(.iso8601), o formato padrão de intercâmbio para APIs.
import Foundation
let now = Date()
let iso = now.formatted(.iso8601)
print("Contains T separator: \(iso.contains("T"))")Convertendo strings novamente
Os estilos de formatação são reversíveis: você pode converter uma string em um Date usando a estratégia correspondente.
import Foundation
let input = "2024-05-30T12:00:00Z"
if let date = try? Date(input, strategy: .iso8601) {
print("Parsed: \(date.timeIntervalSince1970 > 0)")
}FormatStyle versus DateFormatter
A nova API FormatStyle é segura quanto aos tipos e mais rápida de escrever do que a antiga DateFormatter; prefira-a em códigos novos.
import Foundation
let now = Date()
print(now.formatted(date: .long, time: .omitted).isEmpty == false)Verificação rápida
Qual chamada exibe a data, mas omite a hora?
Recapitulação
A API FormatStyle formata datas com .formatted(), estilos configuráveis de date:/time:, campos .dateTime combináveis, frases relativas e ISO 8601. Ela é reversível para conversão e deve ser preferida a DateFormatter. A seguir: fusos horários e localidades.
Perguntas Frequentes
A aula “Formatação de Datas” é grátis?
Sim — o texto completo de “Formatação de Datas” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Swift Academy, atualize para CoddyKit PRO. O curso de Swift Academy inclui 4 aulas no total.
O que vou aprender em “Formatação de Datas”?
Exiba datas com a API moderna de formatação. Você pratica Swift Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Swift Academy?
Nenhuma experiência prévia é necessária. Swift Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.
Quanto tempo leva a aula “Formatação de Datas”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Swift Academy?
Sim. Cada aula de Swift Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- O Tipo Date e Intervalos de Tempo
- Calendar e DateComponents
- Formatação de Datas
- Fusos Horários e Localidades