0Pricing
Swift Academy · Lección

Formato de fechas

Muestre fechas con la API moderna de formato.

Formato de fechas es una lección gratuita de Swift Academy en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Swift Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Swift Academy incluye 4 lecciones en total.

Dar formato a las fechas

Los valores Date sin procesar no son fáciles de leer para las personas. La API moderna FormatStyle de Swift los convierte limpiamente en cadenas localizadas.

El método formatted()

Al llamar a .formatted() sobre una fecha se obtiene una cadena predeterminada adecuada para la configuración regional del usuario.

import Foundation

let now = Date()
let text = now.formatted()
print("Produced a string: \(!text.isEmpty)")

Date.FormatStyle

Pase un Date.FormatStyle para controlar qué partes aparecen y elegir de forma independiente los estilos de fecha y hora.

import Foundation

let now = Date()
let s = now.formatted(date: .abbreviated, time: .omitted)
print("Has date only: \(!s.isEmpty)")

Estilos de fecha y hora

Los parámetros date: y time: aceptan .full, .long, .abbreviated, .numeric o .omitted.

import Foundation

let now = Date()
let full = now.formatted(date: .complete, time: .shortened)
print(!full.isEmpty)

Personalizar con componentes

El estilo .dateTime le permite combinar exactamente los campos que desea, como .year().month().day().

import Foundation

let now = Date()
let s = now.formatted(.dateTime.year().month().day())
print("Custom fields: \(!s.isEmpty)")

Elegir el ancho de los campos

Cada componente acepta opciones; por ejemplo, .month(.wide) muestra el nombre completo y .month(.twoDigits) usa un formato numérico.

import Foundation

let now = Date()
let s = now.formatted(.dateTime.month(.wide).year())
print(!s.isEmpty)

Solo la hora

Combine únicamente campos de hora cuando la fecha se sobreentienda; por ejemplo, .hour().minute().

import Foundation

let now = Date()
let t = now.formatted(.dateTime.hour().minute())
print("Time string: \(!t.isEmpty)")

Formato relativo

RelativeFormatStyle produce expresiones como «en 2 horas» o «ayer» en relación con el momento actual.

import Foundation

let soon = Date().addingTimeInterval(3600)
let rel = soon.formatted(.relative(presentation: .named))
print("Relative phrase produced: \(!rel.isEmpty)")

ISO 8601

Para obtener resultados legibles por máquinas, use .formatted(.iso8601), el formato estándar de intercambio para las API.

import Foundation

let now = Date()
let iso = now.formatted(.iso8601)
print("Contains T separator: \(iso.contains("T"))")

Volver a analizar cadenas

Los estilos de formato son reversibles: puede analizar una cadena y convertirla en un Date mediante la estrategia correspondiente.

import Foundation

let input = "2024-05-30T12:00:00Z"
if let date = try? Date(input, strategy: .iso8601) {
    print("Parsed: \(date.timeIntervalSince1970 > 0)")
}

FormatStyle frente a DateFormatter

La nueva API FormatStyle es segura con respecto a los tipos y más rápida de escribir que la antigua DateFormatter; prefiera usarla en el código nuevo.

import Foundation

let now = Date()
print(now.formatted(date: .long, time: .omitted).isEmpty == false)

Comprobación rápida

¿Qué llamada muestra la fecha, pero omite la hora?

Resumen

La API FormatStyle da formato a las fechas con .formatted(), estilos configurables date:/time:, campos .dateTime combinables, expresiones relativas e ISO 8601. Es reversible para analizar datos y se recomienda frente a DateFormatter. Siguiente tema: zonas horarias y configuraciones regionales.

Preguntas frecuentes

¿La lección «Formato de fechas» es gratis?

Sí — el texto completo de «Formato de fechas» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Swift Academy, actualiza a CoddyKit PRO. El curso de Swift Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Formato de fechas»?

Muestre fechas con la API moderna de formato. Practicas Swift Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Swift Academy?

No se requiere experiencia previa. Swift Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.

¿Cuánto tiempo toma la lección «Formato de fechas»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Swift Academy?

Sí. Cada lección de Swift Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. El tipo Date e intervalos de tiempo
  2. Calendar y DateComponents
  3. Formato de fechas
  4. Zonas horarias y configuraciones regionales
← Volver a Swift Academy