NSDateFormatterクラス

2010. 10. 22
●概要

NSDateFormatterのインスタンスはNSDate(とNSCalendarDate)オブジェクトの表す文字列を生成し、NSDateオブジェクトの中の日付と時刻を変換して表します。

日付と時刻を、プリセットフォーマットスタイルまたはカスタムフォーマット文字列で柔軟に表現する事ができます。

一般的には、フォーマットスタイル(timeStyledateStyleNSDateFormatterStyleを参照)の使用より、ユーザの好みを反映したスタイルを提供するカスタムフォーマットの文字列の使用を推奨します。

フォーマットスタイルはロケール設定を反映します。

フォーマッタの動作とOSのバージョン

Mac OS X v10.4以降は、NSDateFormatterに2つの動作モード(または動作)があります。

新旧の全動作の説明は、『Data Formatting Guide』を参照してください。

iPhone OSでの注意:iPhone OSがサポートしているのは、10.4+の動作のみです。
10.0-スタイルのメソッドとフォーマットの文字列はiPhone OSで利用できません。

デフォルトでは、Mac OS X v10.4でもNSDateFormatterのインスタンスは、Mac OS X v10.0から10.3と同じ動作をします。

Mac OS X v10.5以降は、NSDateFormatterのデフォルトは10.4+の動作になります。

(後方互換性のために)古いスタイルのdate formatterを生成する場合は、フォーマッタの初期化にinitWithDateFormat:allowNaturalLanguage:を使います。

新しい動作を使用する場合は、formatterの初期化にinitを使います。

必要な場合、デフォルトのクラスの動作をsetDefaultFormatterBehavior:を使って設定でき、引数にNSDateFormatterBehavior10_4を渡したsetFormatterBehavior:を使ってインスタンスの動作を設定できます。

デフォルトでは、10.4-スタイルのformatterはNSDateオブジェクト(Mac OS X v10.4以前の場合、date formattersはNSCalendarDateオブジェクト)を返します。

この動作はsetGeneratesCalendarDates:を使って変更できますが、(特にMac OS X v10.6以降でのNSCalendarDateは)強く勧めません。



●タスク

●日付フォーマッタの初期化

– init

●動作の管理

– formatterBehavior
– setFormatterBehavior:
+ defaultFormatterBehavior
+ setDefaultFormatterBehavior:
– generatesCalendarDates
– setGeneratesCalendarDates:
– isLenient
– setLenient:
– doesRelativeDateFormatting
– setDoesRelativeDateFormatting:

●オブジェクトの変換

– dateFromString:
– stringFromDate:
+ localizedStringFromDate:dateStyle:timeStyle:
– getObjectValue:forString:range:error:

●フォーマットとスタイルの管理

– dateFormat
– setDateFormat:
– dateStyle
– setDateStyle:
– timeStyle
– setTimeStyle:
+ dateFormatFromTemplate:options:locale:

●属性の管理

– calendar
– setCalendar:
– defaultDate
– setDefaultDate:
– locale
– setLocale:
– timeZone
– setTimeZone:
– twoDigitStartDate
– setTwoDigitStartDate:
– gregorianStartDate
– setGregorianStartDate:

●午前と午後記号の管理

– AMSymbol
– setAMSymbol:
– PMSymbol
– setPMSymbol:

●曜日記号の管理

– weekdaySymbols
– setWeekdaySymbols:
– shortWeekdaySymbols
– setShortWeekdaySymbols:
– veryShortWeekdaySymbols
– setVeryShortWeekdaySymbols:
– standaloneWeekdaySymbols
– setStandaloneWeekdaySymbols:
– shortStandaloneWeekdaySymbols
– setShortStandaloneWeekdaySymbols:
– veryShortStandaloneWeekdaySymbols
– setVeryShortStandaloneWeekdaySymbols:

●月記号の管理

– monthSymbols
– setMonthSymbols:
– shortMonthSymbols
– setShortMonthSymbols:
– veryShortMonthSymbols
– setVeryShortMonthSymbols:
– standaloneMonthSymbols
– setStandaloneMonthSymbols:
– shortStandaloneMonthSymbols
– setShortStandaloneMonthSymbols:
– veryShortStandaloneMonthSymbols
– setVeryShortStandaloneMonthSymbols:

●四半期記号の管理

– quarterSymbols
– setQuarterSymbols:
– shortQuarterSymbols
– setShortQuarterSymbols:
– standaloneQuarterSymbols
– setStandaloneQuarterSymbols:
– shortStandaloneQuarterSymbols
– setShortStandaloneQuarterSymbols:

●紀元記号の管理

– eraSymbols
– setEraSymbols:
– longEraSymbols
– setLongEraSymbols:



●クラスメソッド



●インスタンスメソッド

init

- (id)init

NSDateFormatterインスタンスを初期化して返します。
(iOS3.2を介してiOS 2.0で対応します)

NSDateFormatterインスタンスを、ロケール、タイムゾーン、カレンダーと動作に適したデフォルト値の設定で初期化します。

10.4-スタイルのdate formatterでは多くの新しい属性が設定可能で、ロケールを含む、タイムゾーン、カレンダー、フォーマット文字列、2桁年表示の相互変換、不確定のコンポーネントに提供するデフォルトの日付と、また月名のような様々な文字列にアクセスできます。

しかし、個々の設定を変更することは推奨されません。

代わりに、適したスタイル定数とsetTimeStyle:setDateStyle:を使ってフォーマットを指定子、確立されているデフォルト設定での初期化を勧めます。
(これらはシステム環境設定の『言語環境』で設定されます。NSDateFormatterStyleを参照)

特別な考慮事項

Mac OS X 10.4で動作させる場合、クラスのデフォルト動作ではNSDateFormatterBehavior10_4が設定されないので、新しいインスタンスに引数NSDateFormatterBehavior10_4を渡したsetFormatterBehavior:メッセージを送信する必要があります。


setCalendar:

- (void)setCalendar:(NSCalendar *)calendar

レシーバのカレンダーを設定します。

calendar:レシーバのカレンダーを指定します。


setDateFormat:

- (void)setDateFormat:(NSString *)string

レシーバの日付フォーマット(書式)を設定します。

string:レシーバの日付フォーマットを指定します。
Data Formatting Guide』の日付フォーマットの許可する変換指定のリストを参照してください。


setDateStyle:

- (void)setDateStyle:(NSDateFormatterStyle)style

レシーバの日付のスタイルを設定します。

style:レシーバの日付スタイルを指定します。
指定可能な値はNSDateFormatterStyleを参照してください。


setLocale:

- (void)setLocale:(NSLocale *)locale

レシーバのロケールを設定します。

locale:レシーバのロケールを指定します。


setTimeStyle:

- (void)setTimeStyle:(NSDateFormatterStyle)style

レシーバの時刻のスタイルを設定します。

style:レシーバの時刻スタイルを指定します。
指定可能な値はNSDateFormatterStyleを参照してください。


stringFromDate:

- (NSString *)stringFromDate:(NSDate *)date

レシーバの現在の設定を使用したフォーマットで、指定した日付を文字列で表して返します。

date:文字列に表す日付を指定します。



●定数

NSDateFormatterStyle

typedef enum {
    NSDateFormatterNoStyle = kCFDateFormatterNoStyle,
    NSDateFormatterShortStyle = kCFDateFormatterShortStyle,
    NSDateFormatterMediumStyle = kCFDateFormatterMediumStyle,
    NSDateFormatterLongStyle = kCFDateFormatterLongStyle,
    NSDateFormatterFullStyle = kCFDateFormatterFullStyle
} NSDateFormatterStyle;

日付と時刻のフォーマットスタイルを、予め定義されている以下の定数で指定します。

NSDateFormatter.hで定義されています。

NSDateFormatterNoStyle
スタイルを指定しません。

NSDateFormatterShortStyle
短いスタイルで、通常は『11/23/37』や『3:30pm』のような数値のみの指定になります。

NSDateFormatterMediumStyle
中間のスタイルで、通常は『Nov 23, 1937』のような簡略化したテキストの指定になります。

NSDateFormatterLongStyle
長いスタイルで、通常は『November 23, 1937』や『3:30:32pm』のような省略しないテキストの指定になります。

NSDateFormatterFullStyle
完全な詳細を示すフルのスタイルで、『Tuesday, April 12, 1952 AD』や『3:20:42pm PST』のような指定になります。

日付と時刻のスタイルのフォーマットはOSのバージョンとユーザの設定が優先され、ロケールに依存するために(ユーザ環境によって設計者の意図を)正確に表現できない場合があります。

(設計者の意図通りの)正確な形式が必要な場合は、これらの定数を使用しないでください。



参考文献

NSDateFormatter 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