8
Busco algo como:Inicializar NSDate con fecha personalizado
NSDate *date = [[NSDate alloc] initWithYear:1984 month:10 Day:8];
¿Hay una manera de hacer algo como esto?
Gracias!
Busco algo como:Inicializar NSDate con fecha personalizado
NSDate *date = [[NSDate alloc] initWithYear:1984 month:10 Day:8];
¿Hay una manera de hacer algo como esto?
Gracias!
Escribí una categoría para esta tarea. A NSDate le faltan muchos métodos útiles.
@interface NSDate (missingFunctions)
+ (NSDate *)dateWithYear:(NSInteger)year month:(NSInteger)month day:(NSInteger)day;
@end
@implementation NSDate (missingFunctions)
+ (NSDate *)dateWithYear:(NSInteger)year month:(NSInteger)month day:(NSInteger)day {
NSCalendar *calendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
NSDateComponents *components = [[[NSDateComponents alloc] init] autorelease];
[components setYear:year];
[components setMonth:month];
[components setDay:day];
return [calendar dateFromComponents:components];
}
@end
Funciona como un encanto. Gracias :). – Carlo
No falta. Intencionalmente no está allí. La teoría es que un hipotético '+ [NSDate dateWithYear: month: day:]' haría que los desarrolladores presuponen que todos usaron el calendario gregoriano. Mejor, en la mente de Apple, dividir la manipulación momento-en-tiempo ('NSDate') de la manipulación del calendario del mundo real (' NSCalendar' y 'NSDateComponents'.) –
thx para la explicación, nunca lo pensó así. –