¿Cómo convertiría un NSString
" 01/02/10 " similar (es decir, el 1 de febrero de 2010) en un NSDate
? ¿Y cómo podría convertir la NSDate
espalda en una cuerda?
ios
objective-c
nsstring
nsdate
cannyboy
fuente
fuente
Respuestas:
Swift 4 y posterior
Actualizado: 2018
Cadena hasta la fecha
Date to String
Swift 3
Actualizado: 20 de julio de 2017
Cadena a NSDate
NSDate to String
Rápido
Actualizado: 22 de octubre de 2015
Cadena a NSDate
NSDate to String
C objetivo
NSString a NSDate
NSDate convertir a NSString:
fuente
NSDate *dateFromString = [[NSDate alloc] init];
si asignar un nuevo valor al puntero en la siguiente línea?ACTUALIZACIÓN 2019 (Swift 4):
Hizo una
Date
extensión para eso. Utiliza enNSDataDetector
lugar deNSDateFormatter
.Bastante agradable, incluso reconoce cosas como "Mañana a las 5" .
Va como:
ACTUALIZACIÓN 2014:
Hizo una extensión NSString para eso.
Gracias a NSDataDetector , reconoce una gran cantidad de formatos.
Parte del kit eppz!, Tome la categoría NSString + EPPZKit.h de GitHub.
RESPUESTA ORIGINAL 2013:
Si no está seguro (o no le importa) sobre el formato de fecha contenido en la cadena, use NSDataDetector para analizar la fecha .
fuente
NSString
-> se2013-09-11 01:31:22 +0000
convierte aNSDate
->2013-09-11 13:31:22 +0000
XCTAssertEqual(Date.FromString("2013-09-11 01:31:22 +0000"), Date.FromCalendar(2013, 9, 11, 1, 31, 22))
parece estar bien.Cuando utilice fechas de formato fijo, debe establecer la configuración regional de formateador de fecha en
"en_US_POSIX"
.Tomado de la Guía de formato de datos
Swift 3 o posterior
uso:
Análisis de la fecha personalizada y conversión de la fecha al mismo formato de cadena:
Aquí están todos los elementos que puede usar para personalizarlo según sea necesario:
fuente
¿Por qué no agregar una categoría a NSString?
fuente
usar "10" para representar un año no es bueno, porque puede ser 1910, 1810, etc. Probablemente deberías usar 4 dígitos para eso.
Si puedes cambiar la fecha a algo como
Entonces puedes usar:
fuente
fuente
fuente
Si desea establecer el formato, use el siguiente código:
fuente
Use este método para convertir de
NSString
aNSdate
:fuente
Si alguien está interesado en hacer algo como esto en Swift en estos días, tengo un comienzo en algo, aunque no es perfecto.
fuente
Fecha para NSString
NSString a NSDate
fuente
Puedes usar extensiones para esto.
Entonces, mientras que la ejecución del código real se verá como sigue
También hay algunos métodos predeterminados, pero supongo que podría no funcionar para el formato que ha proporcionado de la documentación
fuente
La mejor práctica es crear una clase general donde coloque todos sus métodos de uso general, métodos útiles en casi todos los proyectos y agregue el código sugerido por @Pavan como:
.. y así sucesivamente para todos los demás métodos útiles
Al hacerlo, comienza a construir un código limpio reutilizable para su aplicación. ¡Salud!
fuente
Según Swift 2.2
Puede obtener fácilmente NSDate de String y String de NSDate. p.ej
Formateador de la primera fecha establecida
Ahora obtenga la fecha de la cadena y viceversa.
Ahora disfruta.
fuente
NSString a NSDate o NSDate a NSString
fuente
Los ejemplos anteriores no están escritos simplemente para Swift 3.0+
Actualización - Swift 3.0+ - Convertir fecha a cadena
fuente
Cadena hasta la fecha
Fecha a cadena
fuente