tipos son receta quimicos preparacion para mezcla mejores mejor los hamburguesas hamburguesa funcion cuales cortes con carne alimentos alimentarios aditivos objective-c cocoa nsdate

objective c - son - Descripción de la cadena de NSDate



la mejor mezcla de carne para hamburguesas (4)

Tengo el siguiente código:

[ [NSDate date] descriptionWithLocale: @"yyyy-MM-dd" ]

Quiero que devuelva una fecha en el siguiente formato: "2009-04-23"

Pero vuelve: jueves 23 de abril de 2009 11:27:03 PM GMT + 03: 00

¿Qué estoy haciendo mal?

Gracias de antemano.


Estás utilizando el método equivocado. En su lugar, intente descriptionWithCalendarFormat:timeZone:locale:

[[NSDate date] descriptionWithCalendarFormat:@"%Y-%m-%d" timezone:nil locale:nil];

También tenga en cuenta que el método está esperando un formato diferente al de su pregunta. La documentación completa para eso se puede encontrar here .

EDITAR: aunque como Mike señaló, realmente debería estar usando NSDateFormatter . Hay algunos problemas con descriptionWithCalendarFormat:timezone:locale: que Apple menciona en la documentación.


Si no tiene NSDate -descriptionWithCalendarFormat:timeZone:locale: available (no creo que iPhone / Cocoa Touch incluya esto) es posible que necesite usar strftime y strftime con algunas cadenas estilo C. Puede obtener la marca de tiempo UNIX desde un NSDate usando NSDate -timeIntervalSince1970 .


También tenga en cuenta que, en la mayoría de los casos, se prefiere NSDateFormatter por su flexibilidad.

También se puede obtener un beneficio significativo en el rendimiento de la reutilización de los formateadores de fecha en muchas aplicaciones.


NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateFormat:@"yyyy-MM-dd"]; NSString *dateString = [dateFormatter stringFromDate:[NSDate date]]; [dateFormatter release]; // delete this line if your project uses ARC NSLog(@"%@",dateString);