2011-06-23 6 views
91

Estoy obligado a analizar cadenas en un formato que incluye milisegundos. ¿Qué cadena de formato utilizo para obtener el valor de fecha correcto?¿Qué cadena de formato utilizo durante milisegundos en cadenas de fechas en iPhone?

Por ejemplo, supongamos que tengo una cadena con el siguiente valor: "2011-06-23T13: 13: 00.000"

Qué cadena de formato puedo pasar a mi NSDateFormatter en el siguiente código?

NSString *dateValue = @"2011-06-23T13:13:00.000"; 
NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; 
NSString *formatString = @"yyyy-MM-dd'T'HH:mm:ss.???"; 
[formatter setDateFormat:formatString]; 
NSDate *date = [formatter dateFromString:dateValue]; 

¿Qué debo usar en lugar de ??? en el código de arriba?

+0

¿Qué pasa con 'sss'? – EmptyStack

Respuesta

190

Es SSS, por el Unicode Locale Data Markup Language spec.

"yyyy-MM-dd'T'HH:mm:ss.SSS" 

Más en general, utilizar cualquier número de caracteres en mayúscula S para conseguir que muchos lugares decimales en el componente fracciones-de-a-segundo. (Así ss.S mostrará el tiempo en décimas de segundo, por ejemplo.)

+2

Me preguntaba si sabes cómo puedo hacer un análisis indulgente de los milisegundos. La fecha puede tener 6, 7 o incluso ningún milisegundo. Podría ir con expresiones regulares, pero me preguntaba si esto se puede hacer de la caja con una cadena de formato adecuada. – Cyupa

+0

De esta forma, la cantidad máxima de S es tres, p. SSS. Si agrega más, solo obtiene ceros, p. por el tiempoIntervalSince1970 de 1415986217.544384 y .SSSSSS obtienes .544000, por lo que no es una gran solución. – malhal

-1

uso fff por tres cifras decimales de un segundo

"yyyy-MM-dd'T'HH:mm:ss.SSS" 
+0

Eso falla. No tengo fecha de regreso. – ageektrapped

+0

¿Es quizás una F mayúscula? – Luke

4

que necesita para aprobar mismo número de 'S' al final, por ejemplo, Mi fecha era '2015-11-17T03: 36: 45.041503Z' la he usado 'aaaa-MM-dd'T'HH : mm: ss.SSSSSSz ' formateador, es decir, ver el número de' S 'es 6 como 6 dígitos entrando en fecha.

Cuestiones relacionadas