Obter a data atual no Swift 3? [fechadas]


115

Como posso definir a data atual do label.text no Swift 3?

Quero imprimir apenas hoje na tela. Eu não encontrei como fazer isso.

Em c # é muito simples:

var date = DateTime.Now

Preciso escrever 15/09/2016 rapidamente 3. obrigado



isso não está funcionando mais?
yucel de

1
Você rolou até o fim para ver a resposta do Swift 3?
Koen

Eu tentei, mas não consegui
yucel de

1
Você provavelmente deseja usar um NSDateFormattere então stringFromDate.
Koen

Respostas:


289

Em um comentário, você diz que deseja obter "15/09/2016".

Para isso, use Datee DateFormatter:

let date = Date()
let formatter = DateFormatter()

Dê o formato que deseja ao formatador:

formatter.dateFormat = "dd.MM.yyyy"

Obtenha a string de resultado:

let result = formatter.string(from: date)

Defina sua etiqueta:

label.text = result

Resultado:

15/09/2016


2
No Swift 4.2, DateFormatter tem as propriedades .dateStyle e .timeStyle. Em vez da sintaxe um tanto opaca acima (que oferece um controle mais refinado - consulte nsdateformatter.com ), você pode usar dateStyle combinado com locale.
green_knight

63

Você pode fazer isso desta forma com o Swift 3.0:

let date = Date()
let calendar = Calendar.current
let components = calendar.dateComponents([.year, .month, .day], from: date)

let year =  components.year
let month = components.month
let day = components.day

print(year)
print(month)
print(day)

22
Não consigo acreditar, mesmo depois do Swift 3, que o manuseio de datas é tão ruim! É vergonhoso considerar que Date in .NET estava na versão 1 em 2002 de memória. DateTime.Now ou DateTime.Now.Month são muito mais fáceis!
csmith

1
Como saber se esse dia é segunda, terça ou quarta?
Joseph Astrahan

1
Confira SwiftDate Cocoapod se quiser uma maneira muito mais fácil de interagir com datas rapidamente.
Rob Norback

1
@csmith Isso porque ainda é o antigo NSDate, mas com sintaxe Swift. Não foi reescrito. Você está certo, porém, é um pouco difícil trabalhar com ele.
bandejapaisa
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.