サーチ…


システムロケール情報

+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:受信者の最初の週の最小日数を設定します。

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オブジェクトとして、指定された2つの日付の差を返します。

 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]);


Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow