Convertir cadenas a la fecha en mi aplicación para iPhone

He hecho una aplicación de calendario para el iPhone en la que tengo una fecha en formato de cadena (por ejemplo, “Tue, 25 de mayo de 2010 12:53:58 +0000”).

Quiero convertir esto a un NSDate .

¿Qué necesito usar para hacer eso?

Eche un vistazo a la referencia de clase para NSDateFormatter . Lo usas así:

 NSString *dateStr = @"Tue, 25 May 2010 12:53:58 +0000"; // Convert string to date object NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; [dateFormat setDateFormat:@"EE, d LLLL yyyy HH:mm:ss Z"]; NSDate *date = [dateFormat dateFromString:dateStr]; [dateFormat release]; 

Para obtener más información sobre cómo personalizar ese NSDateFormatter, pruebe esta guía de referencia .

EDITAR:

Para que lo sepas, esto analizará el nombre del mes completo. Si desea tres nombres de mes, use LLL lugar de LLLL .

 -(NSString *)dateToFormatedDate:(NSString *)dateStr { NSString *finalDate = @"2014-10-15"; NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateFormat:@"yyyy-MM-dd"]; NSDate *date = [dateFormatter dateFromString:dateStr]; [dateFormatter setDateFormat:@"EE, d MMM, YYYY"]; return [dateFormatter stringFromDate:date]; } 

Si está almacenando fechas en uno de los estilos de iOS, es mucho más fácil y menos propenso a errores usar este método:

 // Define a date formatter for storage, full style for more flexibility NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateStyle:NSDateFormatterFullStyle]; [dateFormatter setTimeStyle:NSDateFormatterFullStyle]; // Use today as an example NSDate *today = [NSDate date]; // Format to a string using predefined styles NSString *dateString = [dateFormatter stringFromDate:today]; // Format back to a date using the same styles NSDate *todayFromString = [dateFormatter dateFromString:dateString]; 
 NSString *dateString=@"2017-05-25"; NSDateFormatter *dateFormatter=[NSDateFormatter alloc]init]; [dateFormatter setDateFormatter:@"MM-dd-yyyy"]; NSDate *date =[[NSDate alloc]init]; date=[datFormatter dateFromString:dateString]; 
    Intereting Posts