NSCalendarクラス

2010. 10. 24
●概要

カレンダーは、年の分割や長さ、開始時間といったシステムの計算をし、情報をカプセル化します。

カレンダーとカレンダーの計算のサポート、例えば指定したカレンダーユニットと指定した絶対的な時間に追加したユニットとの範囲を決定する際の情報を提供します。

カレンダーでは、日、週、曜日、月、年を数字で表す際、一般的に1を基礎をとしますが、カレンダー固有の例外があります。

順序を表す数字は1から始まります。

このAPIで表されるいくつかのカレンダーは、基本的な単位の概念として年/月/週/日などを持っています。

例えば、1年を12個の月単位の代わりに、4つの四半期単位で表す事もできます。

カレンダーの計算には、NSDateオブジェクトを連携して使います。

例えば、あるカレンダーと他のカレンダー間で日付を分解して変換する際、最初のカレンダーから使う日付の要素を分解し、その後2つ目のカレンダーを分解して使う必要があります。

NSDateは絶対基準と基準日(参照点)の日付と時刻を提供し、カレンダーの計算やユーザへの表示用に特定のカレンダーに利用することができます。

2つのNSCalendarメソッド、dateFromComponents:dateByAddingComponents:toDate:options:は、指定されたNSDateComponentsオブジェクトのパラメータから求められたカレンダーの要素を計算し、日付オブジェクトを返します。

貴方が必要とする(または選択できる)多くの要素を提供する事ができます。

不完全な情報で絶対時刻を計算した場合、カレンダーは通常デフォルト値として0と1を選びますが、これはカレンダー特有の選択です。

矛盾する情報を提供する場合は、特定カレンダーの曖昧さ回避を実行してください(これは一つ以上のパラメータを無視して呼び出します)。

関連メソッド(components:fromDate:components:fromDate:toDate:options:)は、指定した要素をビットマスクパラメータで計算し、NSDateComponentsオブジェクトを返します。

ビットマスクはNSCalendarUnit定数で構成されています。

NSCalendarには、『toll-free bridged』の対象としてCore FoundationのCFCalendar型があります。

これはFoudationオブジェクトを橋渡ししてCore Foundationの型に変換し、関数やメソッドで呼び出せることを意味します。

例えば、NSCalendar *パラメータをメソッドで参照する場合、CFCalendarRefに渡し、CFCalendarRefパラメータとして関数で参照でき、NSCalendarインスタンスに渡す事もできます。



●タスク

●システムロケール情報

+ currentCalendar
+ autoupdatingCurrentCalendar

●カレンダーの初期化

– initWithCalendarIdentifier:
– setFirstWeekday:
– setLocale:
– setMinimumDaysInFirstWeek:
– setTimeZone:

●カレンダーに関する情報の取得

– calendarIdentifier
– firstWeekday
– locale
– maximumRangeOfUnit:
– minimumDaysInFirstWeek
– minimumRangeOfUnit:
– ordinalityOfUnit:inUnit:forDate:
– rangeOfUnit:inUnit:forDate:
– rangeOfUnit:startDate:interval:forDate:
– timeZone

●カレンダーの計算

– components:fromDate:
– components:fromDate:toDate:options:
– dateByAddingComponents:toDate:options:
– dateFromComponents:



●クラスメソッド

currentCalendar

+ (id)currentCalendar

現在のユーザ環境(ロケール)の論理的なカレンダーを返します。

環境設定でユーザが選択している地域・言語設定に依存したカレンダーを返します。

このカレンダーの設定は、環境設定が変更されても変わりません。
(環境設定の変更に対応する場合はautoupdatingCurrentCalendarを使用してください)



●インスタンスメソッド

components:fromDate:

- (NSDateComponents *)components:(NSUInteger)unitFlags fromDate:(NSDate *)date

指定したコンポーネント(要素)で構成されたNSDateComponentsオブジェクトを返します。

dateがレシーバの範囲を超えていたり、計算できなかった場合はnilを返します。

グレゴリオ暦で年月日を取得する場合は下記のようになります。

unsigned unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit;
NSDate *date = [NSDate date];
NSDateComponents *comps = [gregorian components:unitFlags fromDate];

unitFlags:構成する日付コンポーネントを指定します。
or演算子『|』で複数のNSCalendarUnit定数を指定可能です。

date:計算する日時を指定します。


initWithCalendarIdentifier:

- (id)initWithCalendarIdentifier:(NSString *)string

新規生成されたNSCalendarオブジェクトを、指定された識別子のカレンダーで初期化します。

戻り値は初期化されたカレンダー、または識別子が不明な場合はnilを返します。
(例えば、認識できない文字列や、現在のOSのバージョンでサポートしていないカレンダーを指定した場合)

string:新しいカレンダーの識別子を指定します。



●定数



参考文献

NSCalendar Class Reference






bose_soundlink_revolve
0 Comments
Leave a comment
管理者にだけ表示を許可する
Top
0 Trackbacks
Top
Calendar
03 | 2017/04 | 05
Sun Mon Tue Wed Thu Fri Sat
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 - - - - - -
Recent Articles
iTunes


Swift
Categories
Tips
Profile

水月杏香

Author:水月杏香
永遠の初心者プログラマ。

Wish List
WACOM


ARC
Technical Q&A
情報プロパティリストキー
Start Developing iOS Apps Today
BOSE

bose_soundlink_revolve
Reference
NSApplicationDelegateプロトコル
NSArrayクラス
NSAutoreleasePoolクラス
NSBundleクラス
NSBundle UIKit追加分
NSCalendarクラス
NSCoderクラス
NSCodingプロトコル
NSCopyingプロトコル
NSDataクラス
NSDateクラス
NSDateFormatterクラス
NSDictionaryクラス
NSEntityDescriptionクラス
NSEnumeratorクラス
NSErrorクラス
NSExceptionクラス
NSFetchRequestクラス
NSFileHandleクラス
NSFileManagerクラス
NSIndexPathクラス
NSIndexPath UIKit追加分
NSKeyedArchiverクラス
NSKeyedUnarchiverクラス
NSKeyValueCodingプロトコル
NSLocaleクラス
NSManagedObjectクラス
NSManagedObjectContextクラス
NSManagedObjectModelクラス
NSMutableArrayクラス
NSMutableCopyingプロトコル
NSMutableDictionaryクラス
NSMutableSetクラス
NSNotificationクラス
NSNotificationCenterクラス
NSNullクラス
NSNumberクラス
NSObjectクラス
NSObject UIKit追加分
NSObjectプロトコル
NSPersistentStoreクラス
NSPersistentStoreCoordinatorクラス
NSPredicateクラス
NSPropertyListSerializationクラス
NSRunLoopクラス
NSSetクラス
NSStringクラス
NSString UIKit追加分
NSTimerクラス
NSTimeZoneクラス
NSURLクラス
NSURLProtectionSpaceクラス
NSURLRequestクラス
NSUserDefaultsクラス
NSValueクラス

UIActionSheetクラス
UIActionSheetDelegateプロトコル
UIActivityIndicatorViewクラス
UIAlertViewクラス
UIAlertViewDelegateプロトコル
UIApplicationクラス
UIApplicationDelegateプロトコル
UIBarButtonItemクラス
UIBarItemクラス
UIButtonクラス
UIColorクラス
UIControlクラス
UIDatePickerクラス
UIDeviceクラス
UIEventクラス
UIFontクラス
UIGestureRecognizerクラス
UIImageクラス
UIImageViewクラス
UIKit Function
UILabelクラス
UINavigationControllerクラス
UINavigationItemクラス
UIPickerViewクラス
UIPickerViewDataSourceプロトコル
UIPickerViewDelegateプロトコル
UIPinchGestureRecognizerクラス
UIResponderクラス
UIScreenクラス
UIScrollViewクラス
UISearchBarクラス
UISearchBarDelegateプロトコル
UISegmentedControlクラス
UISliderクラス
UISwipeGestureRecognizerクラス
UISwitchクラス
UITableViewクラス
UITableViewCellクラス
UITableViewControllerクラス
UITableViewDataSourceプロトコル
UITableViewDelegateプロトコル
UITapGestureRecognizerクラス
UITextFieldクラス
UITextFieldDelegateプロトコル
UITextInputTraitsプロトコル
UITextViewクラス
UITextViewDelegateプロトコル
UIToolbarクラス
UITouchクラス
UIViewクラス
UIViewControllerクラス
UIWebViewクラス
UIWebViewDelegateプロトコル
UIWindowクラス

AVAudioPlayerクラス
AVAudioPlayerDelegateプロトコル

CADisplayLinkクラス
CAEAGLLayerクラス
CALayerクラス

CGAffineTransform
CGBitmapContext
CGColor
CGColorSpace
CGContext
CGGeometry
CGImage
CGPath

EAGLContextクラス
EAGLDrawableプロトコル

Foundation Constants
Foundation Data Types
Foundation Functions

MPMediaItemクラス
MPMediaItemArtworkクラス
MPMediaPlaylistクラス
MPMediaPropertyPredicateクラス
MPMediaQueryクラス
MPMusicPlayerControllerクラス

Randomization Services

System Sound Services
Amazon


OpenGL ES
SQLite
Monthly Archives
Recent Comments
Recent TrackBacks
RSS Link
Visitors
QR Code
QR