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)
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.
NSDateFormatter
e entãostringFromDate
.Respostas:
Em um comentário, você diz que deseja obter "15/09/2016".
Para isso, use
Date
eDateFormatter
:Dê o formato que deseja ao formatador:
Obtenha a string de resultado:
Defina sua etiqueta:
Resultado:
fonte
Você pode fazer isso desta forma com o Swift 3.0:
fonte