Objective-C Language
NSCalendar
Поиск…
Информация о локализации системы
+currentCalendar
возвращает логический календарь для текущего пользователя.
NSCalendar *calender = [NSCalendar currentCalendar];
NSLog(@"%@",calender);
+autoupdatingCurrentCalendar
возвращает текущий логический календарь для текущего пользователя.
NSCalendar *calender = [NSCalendar autoupdatingCurrentCalendar];
NSLog(@"%@",calender);
Инициализация календаря
- initWithCalendarIdentifier:
Инициализирует недавно выделенный объект NSCalendar для календаря, заданного данным идентификатором.
NSCalendar *calender = [[NSCalendar alloc]initWithCalendarIdentifier:@"gregorian"];
NSLog(@"%@",calender);
- setFirstWeekday:
Устанавливает индекс первого дня недели для получателя.
NSCalendar *calender = [NSCalendar autoupdatingCurrentCalendar];
[calender setFirstWeekday:1];
NSLog(@"%d",[calender firstWeekday]);
- setLocale:
устанавливает локаль для ресивера.
NSCalendar *calender = [NSCalendar autoupdatingCurrentCalendar];
[calender setLocale:[NSLocale currentLocale]];
NSLog(@"%@",[calender locale]);
- setMinimumDaysInFirstWeek:
устанавливает минимальное количество дней в первую неделю - setMinimumDaysInFirstWeek:
.
NSCalendar *calender = [NSCalendar autoupdatingCurrentCalendar];
[calender setMinimumDaysInFirstWeek:7];
NSLog(@"%d",[calender minimumDaysInFirstWeek]);
- setTimeZone:
Устанавливает часовой пояс для приемника.
NSCalendar *calender = [NSCalendar autoupdatingCurrentCalendar];
[calender setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];
NSLog(@"%@",[calender timeZone]);
Календарные расчеты
- components:fromDate:
возвращает объект NSDateComponents, содержащий заданную дату, разложенную на указанные компоненты
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:
Возвращает, как объект NSDateComponents с использованием указанных компонентов, разницу между двумя поставленными датами.
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:
Возвращает новый объект NSDate, представляющий абсолютное время, рассчитанное путем добавления данных компонентов к данной дате.
NSCalendar *calender = [NSCalendar autoupdatingCurrentCalendar];
NSDateComponents *dateComponent = [[NSDateComponents alloc]init];
[dateComponent setYear:10];
NSLog(@"%@",[calender dateByAddingComponents:dateComponent toDate:[NSDate dateWithTimeIntervalSinceNow:0] options:NSCalendarWrapComponents] );
- dateFromComponents:
возвращает новый объект NSDate, представляющий абсолютное время, вычисленное из данных компонентов.
NSCalendar *calender = [NSCalendar autoupdatingCurrentCalendar];
NSDateComponents *dateComponent = [[NSDateComponents alloc]init];
[dateComponent setYear:2020];
NSLog(@"%@",[calender dateFromComponents:dateComponent]);