Buscar..


Información local del sistema

+currentCalendar devuelve el calendario lógico para el usuario actual.

    NSCalendar *calender = [NSCalendar currentCalendar];
    NSLog(@"%@",calender);

+autoupdatingCurrentCalendar devuelve el calendario lógico actual para el usuario actual.

NSCalendar *calender = [NSCalendar autoupdatingCurrentCalendar];
NSLog(@"%@",calender); 

Inicializando un calendario

- initWithCalendarIdentifier: inicializa un objeto NSCalendar recién asignado para el calendario especificado por un identificador dado.

NSCalendar *calender = [[NSCalendar alloc]initWithCalendarIdentifier:@"gregorian"];
NSLog(@"%@",calender);

- setFirstWeekday: establece el índice del primer día de la semana para el receptor.

NSCalendar *calender = [NSCalendar autoupdatingCurrentCalendar];
[calender setFirstWeekday:1];
NSLog(@"%d",[calender firstWeekday]);

- setLocale: establece la configuración regional del receptor.

NSCalendar *calender = [NSCalendar autoupdatingCurrentCalendar];
[calender setLocale:[NSLocale currentLocale]];
NSLog(@"%@",[calender locale]);

- setMinimumDaysInFirstWeek: establece el número mínimo de días en la primera semana del destinatario.

NSCalendar *calender = [NSCalendar autoupdatingCurrentCalendar];
[calender setMinimumDaysInFirstWeek:7];
NSLog(@"%d",[calender minimumDaysInFirstWeek]);     

- setTimeZone: establece la zona horaria del receptor.

NSCalendar *calender = [NSCalendar autoupdatingCurrentCalendar];
[calender setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];
NSLog(@"%@",[calender timeZone]);

Cálculos Calendarios

- components:fromDate: devuelve un objeto NSDateComponents que contiene una fecha determinada descompuesta en componentes especificados

NSCalendar *calender = [NSCalendar autoupdatingCurrentCalendar];
[calender setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];
NSLog(@"%@",[calender components:NSCalendarUnitDay fromDate:[NSDate date]]);
NSLog(@"%@",[calender components:NSCalendarUnitYear fromDate:[NSDate date]]);
NSLog(@"%@",[calender components:NSCalendarUnitMonth fromDate:[NSDate date]]);

- components:fromDate:toDate:options: Devuelve, como un objeto NSDateComponents que usa componentes específicos, la diferencia entre dos fechas proporcionadas.

 NSCalendar *calender = [NSCalendar autoupdatingCurrentCalendar];
[calender setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];
NSLog(@"%@",[calender components:NSCalendarUnitYear fromDate:[NSDate dateWithTimeIntervalSince1970:0] toDate:[NSDate dateWithTimeIntervalSinceNow:18000] options:NSCalendarWrapComponents]);

- dateByAddingComponents:toDate:options: devuelve un nuevo objeto NSDate que representa el tiempo absoluto calculado al agregar componentes dados a una fecha determinada.

NSCalendar *calender = [NSCalendar autoupdatingCurrentCalendar];
NSDateComponents *dateComponent = [[NSDateComponents alloc]init];
[dateComponent setYear:10];
NSLog(@"%@",[calender dateByAddingComponents:dateComponent toDate:[NSDate             dateWithTimeIntervalSinceNow:0] options:NSCalendarWrapComponents] );

- dateFromComponents: devuelve un nuevo objeto NSDate que representa el tiempo absoluto calculado a partir de los componentes dados.

NSCalendar *calender = [NSCalendar autoupdatingCurrentCalendar];
NSDateComponents *dateComponent = [[NSDateComponents alloc]init];
[dateComponent setYear:2020];
NSLog(@"%@",[calender dateFromComponents:dateComponent]);


Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow