He estado trabajando en mi cerebro sin suerte. Podría alguien por favor dígame cómo me gustaría convertir esta cadena:¿Cómo convertir un NSString en NSDate?
"2011-01-13T17: 00: 00 + 11: 00"
en un NSDate?
He estado trabajando en mi cerebro sin suerte. Podría alguien por favor dígame cómo me gustaría convertir esta cadena:¿Cómo convertir un NSString en NSDate?
"2011-01-13T17: 00: 00 + 11: 00"
en un NSDate?
El Unicode formato de fecha Doc es here
Además, por su situación, usted podría intentar esto:
// original string
NSString *str = [NSString stringWithFormat:@"2011-01-13T17:00:00+11:00"];
// convert to date
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
// ignore +11 and use timezone name instead of seconds from gmt
[dateFormat setDateFormat:@"YYYY-MM-dd'T'HH:mm:ss'+11:00'"];
[dateFormat setTimeZone:[NSTimeZone timeZoneWithName:@"Australia/Melbourne"]];
NSDate *dte = [dateFormat dateFromString:str];
NSLog(@"Date: %@", dte);
// back to string
NSDateFormatter *dateFormat2 = [[NSDateFormatter alloc] init];
[dateFormat2 setDateFormat:@"YYYY-MM-dd'T'HH:mm:ssZZZ"];
[dateFormat2 setTimeZone:[NSTimeZone timeZoneWithName:@"Australia/Melbourne"]];
NSString *dateString = [dateFormat2 stringFromDate:dte];
NSLog(@"DateString: %@", dateString);
[dateFormat release];
[dateFormat2 release];
Esperanza esto ayuda.
Gracias, esto es perfecto. La zona horaria en comillas simples no se esperaba, pero fue lo que lo solucionó :) – jennas
no pudo deducir que 'T' en el medio. Entonces eso ayudó. ¡Gracias! – user1244109
¿Usted intentó esta
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
NSDate *dateT = [dateFormatter dateFromString:str];
Saludos
Hola, sí tengo este NSDateFormatter * dateFormatter = [[NSDateFormatter alloc] init]; NSDate * dateT = [dateFormatter dateFromString: @ "2011-01-13T17: 00: 00 + 11: 00"]; NSLog (@ "date From string:% @", dateT); Esto devuelve (nulo) – jennas
Esto le ayudará a http://stackoverflow.com/questions/4655199/how-to-set-date-format-retrieved-from-uidatepicker/4655297#4655297 – Aditya
Esto está mal, no funciona en absoluto, da fecha nula. –
poner la parte T entre comillas simples, y comprobar los documentos Unicode para el formato exacto. En mi caso, tengo algo similar, que hago esto:
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"YYYY-MM-dd'T'HH:mm:ss.SSS"];
De nuevo, no es exactamente lo mismo, pero se entiende la idea. Además, tenga cuidado con las zonas horarias al convertir ida y vuelta entre cadenas y ndadas.
Una vez más, en mi caso, utilizo:
[dateFormat setTimeZone:[NSTimeZone timeZoneWithName:@"America/New_York"]];
Hola, configuro [NSTimeZone systemTimeZone] que es la zona correcta. ¡Lo siguiente sigue arrojando una maldita cosa nula![dateFormatter setDateFormat: @ "aaaa-MM-dd'T'hh: mm: ssSSS"]; – jennas
Eso fue para mi código, necesitarás hacer algo similar para tu código. De nuevo, verifique los documentos de UNICODE. – tbone
Puede visitar TouchTime.
https://github.com/jheising/TouchTime.
Es un puerto directo de la increíble función strtotime en PHP en 5.4 para Cocoa e iOS. Adoptará casi cualquier formato arbitrario de cadena de fecha u hora y lo convertirá en un NSDate.
¡Espero que funcione, y disfruta!
Pruebe utilizar este proyecto habilitado para cocoapods. Hay muchas funciones adicionales que probablemente serán necesarias también.
"Una categoría para extender la clase NSDate de Cocoa con algunas funciones de conveniencia."
https://github.com/billymeltdown/nsdate-helper
He aquí un ejemplo de su página:
NSDate *date = [NSDate dateFromString:@"2009-03-01 12:15:23"];
Además, la mayoría busca ahora utilidades en cocoapods. Aquí está la consulta sobre NSDate. http://cocoapods.org/?q=NSDate –
mira esto: http://stackoverflow.com/questions/1353081/nsstring-to-nsdate – lms