¿Qué es y para qué sirve?
Swift es un lenguaje de programación moderno de Apple para iOS, macOS, watchOS y tvOS. Trabajar con fechas es una de las tareas clave en el desarrollo móvil y de escritorio: desde mostrar la hora en chats hasta calcular plazos en aplicaciones. Swift no tiene una biblioteca separada para fechas; toda la funcionalidad está integrada en el framework Foundation. Este proporciona las clases Date, DateFormatter, Calendar y DateComponents, que permiten crear, formatear, comparar y manipular fechas.
¿Cómo instalar?
Foundation es parte de la biblioteca estándar de Swift, por lo que no se requiere instalación. Simplemente importa el módulo en tu archivo: import Foundation. Para trabajar con fechas en proyectos iOS/macOS (a través de Xcode) no se necesitan dependencias adicionales.
Funciones principales
- Creación de fecha:
Date()— fecha y hora actuales;Date(timeIntervalSinceNow:)— fecha dentro de N segundos. - Formateo:
DateFormatter— conversión de fecha a cadena (salida localizada) y viceversa. - Componentes de fecha:
Calendar.current.dateComponents([.year, .month, .day], from: date)— extracción de año, mes, día. - Comparación: operadores
==,<,>, así comocompare(). - Manipulaciones:
Calendar.current.date(byAdding: .day, value: 7, to: date)— añadir 7 días.
Ejemplo de código en Swift (iOS/macOS)
import Foundation
// Fecha actuallet now = Date()print("Ahora: \\(now)")
// Formateo a cadena localizadalet formatter = DateFormatter()formatter.dateStyle = .longformatter.timeStyle = .shortformatter.locale = Locale(identifier: "es_ES")let formatted = formatter.string(from: now)print("Fecha formateada: \\(formatted)")
// Extracción del día de la semanalet calendar = Calendar.currentlet weekday = calendar.component(.weekday, from: now)print("Día de la semana (1=domingo): \\(weekday)")
// Añadir 3 díasif let futureDate = calendar.date(byAdding: .day, value: 3, to: now) { print("En 3 días: \\(formatter.string(from: futureDate))")}
// Parseo de cadenaformatter.dateFormat = "yyyy-MM-dd"if let parsedDate = formatter.date(from: "2025-12-31") { print("Parseado: \\(parsedDate)")}¿Cuándo usar?
Usa las herramientas integradas de Foundation siempre que necesites trabajar con fechas en Swift: mostrar la hora en la interfaz de usuario, calcular la diferencia entre fechas, crear calendarios, recordatorios, temporizadores, registro de eventos. Para escenarios complejos (por ejemplo, trabajar con zonas horarias o eventos recurrentes) combina DateComponents y Calendar. Existen bibliotecas de terceros alternativas (por ejemplo, SwiftDate), pero para la mayoría de los proyectos Foundation es suficiente.