Trabalhando com datas em Swift: Foundation e DateFormatter

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

O que é e para que serve?

Swift é uma linguagem de programação moderna da Apple para iOS, macOS, watchOS e tvOS. Trabalhar com datas é uma das tarefas principais no desenvolvimento móvel e desktop: desde exibir horários em chats até calcular prazos em aplicativos. No Swift, não há uma biblioteca separada para datas — toda a funcionalidade está incorporada no framework Foundation. Ele fornece as classes Date, DateFormatter, Calendar e DateComponents, que permitem criar, formatar, comparar e manipular datas.

Como instalar?

Foundation faz parte da biblioteca padrão do Swift, portanto, não é necessária instalação. Basta importar o módulo no seu arquivo: import Foundation. Para trabalhar com datas em projetos iOS/macOS (via Xcode), nenhuma dependência adicional é necessária.

Funções principais

  • Criação de data: Date() — data e hora atuais; Date(timeIntervalSinceNow:) — data daqui a N segundos.
  • Formatação: DateFormatter — conversão de data para string (saída localizada) e vice-versa.
  • Componentes da data: Calendar.current.dateComponents([.year, .month, .day], from: date) — extração de ano, mês, dia.
  • Comparação: operadores ==, <, >, além de compare().
  • Manipulações: Calendar.current.date(byAdding: .day, value: 7, to: date) — adicionar 7 dias.

Exemplo de código em Swift (iOS/macOS)

import Foundation

// Data atuallet now = Date()print("Agora: \\(now)")

// Formatação em string localizadalet formatter = DateFormatter()formatter.dateStyle = .longformatter.timeStyle = .shortformatter.locale = Locale(identifier: "pt_BR")let formatted = formatter.string(from: now)print("Data formatada: \\(formatted)")

// Extração do dia da semanalet calendar = Calendar.currentlet weekday = calendar.component(.weekday, from: now)print("Dia da semana (1=domingo): \\(weekday)")

// Adicionar 3 diasif let futureDate = calendar.date(byAdding: .day, value: 3, to: now) { print("Daqui a 3 dias: \\(formatter.string(from: futureDate))")}

// Parse de stringformatter.dateFormat = "yyyy-MM-dd"if let parsedDate = formatter.date(from: "2025-12-31") { print("Parseado: \\(parsedDate)")}

Quando usar?

Use as ferramentas incorporadas do Foundation sempre que precisar trabalhar com datas em Swift: exibir horários na interface do usuário, calcular diferenças entre datas, criar calendários, lembretes, temporizadores, registrar eventos. Para cenários complexos (por exemplo, trabalhar com fusos horários ou eventos recorrentes), combine DateComponents e Calendar. Bibliotecas alternativas de terceiros (como SwiftDate) existem, mas para a maioria dos projetos, Foundation é suficiente.

Recommendations