¿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



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


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)

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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.