0Pricing
Swift Academy · Aula

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

  1. O Tipo Date e Intervalos de Tempo
  2. Calendar e DateComponents
  3. Formatação de Datas
  4. Fusos Horários e Localidades
← Voltar para Swift Academy