¿Obtener la fecha actual en Swift 3? [cerrado]

114

¿Cómo puedo configurar la fecha actual de label.text en Swift 3?

Quiero imprimir hoy en la pantalla. No encontré cómo hacer eso.

En c # es muy simple:

var date = DateTime.Now

Necesito escribir 15.09.2016 en rápido 3. gracias

Yucel
fuente
2
Posible duplicado de stackoverflow.com/questions/24070450/…
koen
eso ya no funciona?
Yucel
1
¿Te desplazaste hasta el final para obtener la respuesta de Swift 3?
koen
Lo intenté pero no lo
logré
1
Probablemente quieras usar un NSDateFormattery luego stringFromDate.
koen

Respuestas:

289

Dices en un comentario que quieres obtener "15.09.2016".

Para esto, use Datey DateFormatter:

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

Dale el formato que quieras al formateador:

formatter.dateFormat = "dd.MM.yyyy"

Obtenga la cadena de resultado:

let result = formatter.string(from: date)

Establezca su etiqueta:

label.text = result

Resultado:

15.09.2016

Eric Aya
fuente
2
En Swift 4.2, DateFormatter tiene propiedades .dateStyle y .timeStyle. En lugar de la sintaxis algo opaca anterior (que brinda un control más detallado, consulte nsdateformatter.com ), puede usar dateStyle combinado con locale.
green_knight
63

Puedes hacerlo de esta manera con 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)
Jorge Casariego
fuente
22
¡No puedo creer, incluso después de Swift 3, que el manejo de fechas sea tan malo! Es vergonzoso tener en cuenta que Date en .NET estaba en la versión 1 en 2002 de memoria. ¡DateTime.Now o DateTime.Now.Month son mucho más fáciles!
csmith
1
¿Cómo saber si ese día es lunes, martes o miércoles?
Joseph Astrahan
1
Consulte SwiftDate Cocoapod si desea una forma mucho más fácil de interactuar con las fechas de forma rápida.
Rob Norback
1
@csmith Eso es porque sigue siendo el antiguo NSDate pero con sintaxis Swift. No ha sido reescrito. Sin embargo, tienes razón, es un poco complicado trabajar con él.
bandejapaisa