O Tipo Date e Intervalos de Tempo
Represente pontos no tempo e durações.
O Tipo Date e Intervalos de Tempo é uma aula grátis de Swift Academy no CoddyKit. Esta é a aula 1 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.
O tipo Date
O Date do Foundation representa um único ponto no tempo, independente de qualquer calendário ou fuso horário. Internamente, ele é um número de segundos relativo a uma data de referência.
Criando um Date
Date() fornece o instante atual. Cada chamada retorna o momento em que é executada.
import Foundation
let now = Date()
print("Now is a Date value")
print(type(of: now))Intervalos de tempo
Um TimeInterval é simplesmente um número Double de segundos. Você adiciona ou subtrai intervalos para mover uma data para frente ou para trás.
import Foundation
let now = Date()
let inOneHour = now.addingTimeInterval(3600)
print(inOneHour > now)timeIntervalSince
timeIntervalSince(_:) retorna os segundos entre duas datas como um TimeInterval. Um valor positivo significa que a data receptora é posterior.
import Foundation
let start = Date()
let later = start.addingTimeInterval(120)
let gap = later.timeIntervalSince(start)
print("Gap seconds: \(gap)")Comparando datas
Date está em conformidade com Comparable, portanto você pode usar <, > e == diretamente para ordenar eventos.
import Foundation
let a = Date()
let b = a.addingTimeInterval(10)
print(a < b)
print(a == a)Datas de referência
timeIntervalSinceReferenceDate mede os segundos desde 1º de janeiro de 2001 em UTC; timeIntervalSince1970 usa a época Unix.
import Foundation
let d = Date(timeIntervalSince1970: 0)
print(d.timeIntervalSince1970)Construindo a partir da época
Você pode construir um instante específico a partir de um carimbo de data e hora Unix, o que é útil ao receber horários de um servidor.
import Foundation
let epoch = Date(timeIntervalSince1970: 1_700_000_000)
print(epoch.timeIntervalSince1970)Distância entre datas
O método distance(to:) de Comparable/Strideable também fornece o intervalo entre duas datas.
import Foundation
let a = Date()
let b = a.addingTimeInterval(45)
print(a.distance(to: b))Auxiliares para passado e futuro
Os valores estáticos .distantPast e .distantFuture fornecem datas sentinela úteis como valores padrão em comparações.
import Foundation
let now = Date()
print(Date.distantPast < now)
print(Date.distantFuture > now)Medindo o tempo decorrido
Registre uma data inicial, execute o trabalho e depois faça a subtração para medir quanto tempo algo levou, em 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)")As datas não dependem de calendário
Lembre-se: um Date não tem o conceito de ano, mês ou dia. Para extraí-los, você precisa de um Calendar, que será apresentado na próxima lição.
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.")Verificação rápida
O que laterDate.timeIntervalSince(earlierDate) retorna?
Recapitulação
Date representa um único instante medido em segundos. Você pode deslocá-lo com addingTimeInterval, medir intervalos com timeIntervalSince, compará-lo com operadores e construí-lo a partir de épocas. Ele não depende de calendário, portanto a próxima lição apresenta Calendar e DateComponents.
Perguntas Frequentes
A aula “O Tipo Date e Intervalos de Tempo” é grátis?
Sim — o texto completo de “O Tipo Date e Intervalos de Tempo” é 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 “O Tipo Date e Intervalos de Tempo”?
Represente pontos no tempo e durações. 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 1 de 4.
Quanto tempo leva a aula “O Tipo Date e Intervalos de Tempo”?
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