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)
¡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.
NSDateFormatter
y luegostringFromDate
.Respuestas:
Dices en un comentario que quieres obtener "15.09.2016".
Para esto, use
Date
yDateFormatter
:Dale el formato que quieras al formateador:
Obtenga la cadena de resultado:
Establezca su etiqueta:
Resultado:
fuente
Puedes hacerlo de esta manera con Swift 3.0:
fuente