0Pricing
Swift Academy · Lección

El tipo Date e intervalos de tiempo

Represente momentos y duraciones.

El tipo Date e intervalos de tiempo es una lección gratuita de Swift Academy en CoddyKit. Esta es la lección 1 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.

El tipo Date

El Date de Foundation representa un único instante en el tiempo, independiente de cualquier calendario o zona horaria. Internamente, es un número de segundos relativo a una fecha de referencia.

Crear un Date

Date() proporciona el instante actual. Cada llamada devuelve el momento en que se ejecuta.

import Foundation

let now = Date()
print("Now is a Date value")
print(type(of: now))

Intervalos de tiempo

Un TimeInterval es simplemente un número Double de segundos. Puede sumar o restar intervalos para desplazar una fecha hacia delante o hacia atrás.

import Foundation

let now = Date()
let inOneHour = now.addingTimeInterval(3600)
print(inOneHour > now)

timeIntervalSince

timeIntervalSince(_:) devuelve los segundos entre dos fechas como un TimeInterval. Un valor positivo significa que el receptor es posterior.

import Foundation

let start = Date()
let later = start.addingTimeInterval(120)
let gap = later.timeIntervalSince(start)
print("Gap seconds: \(gap)")

Comparar fechas

Date es conforme a Comparable, por lo que puede usar directamente <, > y == para ordenar eventos.

import Foundation

let a = Date()
let b = a.addingTimeInterval(10)
print(a < b)
print(a == a)

Fechas de referencia

timeIntervalSinceReferenceDate mide los segundos transcurridos desde el 1 de enero de 2001 en UTC; timeIntervalSince1970 usa la época Unix.

import Foundation

let d = Date(timeIntervalSince1970: 0)
print(d.timeIntervalSince1970)

Construir a partir de una época

Puede crear un instante específico a partir de una marca de tiempo Unix, lo que resulta útil al recibir horas desde un servidor.

import Foundation

let epoch = Date(timeIntervalSince1970: 1_700_000_000)
print(epoch.timeIntervalSince1970)

Distancia entre fechas

El método distance(to:) de Comparable/Strideable también proporciona el intervalo entre dos fechas.

import Foundation

let a = Date()
let b = a.addingTimeInterval(45)
print(a.distance(to: b))

Ayudantes para el pasado y el futuro

Los valores estáticos .distantPast y .distantFuture proporcionan fechas centinela útiles como valores predeterminados en las comparaciones.

import Foundation

let now = Date()
print(Date.distantPast < now)
print(Date.distantFuture > now)

Medir el tiempo transcurrido

Capture una fecha inicial, realice el trabajo y, después, haga la resta para medir cuánto tardó algo en segundos.

import Foundation

let start = Date()
var total = 0
for i in 1...1000 { total += i }
let elapsed = Date().timeIntervalSince(start)
print("Sum: \(total)")
print("Elapsed >= 0: \(elapsed >= 0)")

Date no depende del calendario

Recuerde: un Date no tiene el concepto de año, mes ni día. Para extraer esos valores necesita un Calendar, que se presenta en la siguiente lección.

import Foundation

let now = Date()
// To get the year you must use a Calendar, not Date alone.
print("A Date is just an instant in time.")

Comprobación rápida

¿Qué devuelve laterDate.timeIntervalSince(earlierDate)?

Resumen

Date representa un único instante medido en segundos. Puede desplazarlo con addingTimeInterval, medir las diferencias con timeIntervalSince, compararlo con operadores y crearlo a partir de épocas. No depende del calendario, por lo que la siguiente lección presenta Calendar y DateComponents.

Preguntas frecuentes

¿La lección «El tipo Date e intervalos de tiempo» es gratis?

Sí — el texto completo de «El tipo Date e intervalos de tiempo» 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 «El tipo Date e intervalos de tiempo»?

Represente momentos y duraciones. 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 1 de 4.

¿Cuánto tiempo toma la lección «El tipo Date e intervalos de tiempo»?

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