NSTimeZoneクラス

2010. 10. 21
●概要

NSTimeZoneは、タイムゾーンオブジェクトの動作を定義する抽象的なクラスです。

タイムゾーンオブジェクトは地政学の地域を表します。
(地政学:民族や国家の特質を、地理的空間や条件から考える学問)

したがって、タイムゾーンオブジェクトは地域の名前を持ちます。

また、タイムゾーンオブジェクトはグリニッジ標準時(GMT)からの時差をプラスまたはマイナスで表したり、太平洋標準時をPSTと略したりもします。

NSTimeZoneは、timeZoneWithName:timeZoneWithName:data:timeZoneWithAbbreviation:timeZoneForSecondsFromGMT:といった、タイムゾーンオブジェクトを取得するいくつかのクラスメソッドを提供します。

このクラスのsetDefaultTimeZone:を使って、アプリケーションのデフォルトのタイムゾーンを設定することもできます。

このデフォルトタイムゾーンはdefaultTimeZoneクラスメソッドでいつでもアクセス可能で、localTimeZoneクラスメソッドと併用して、検出できるロケールタイムゾーンをデフォルトタイムゾーンとして、タイムゾーンオブジェクトを比較することができます。

Cocoaは、コンピュータのタイムゾーンや他のアプリケーションのタイムゾーンを変更するAPIを提供しません。

いくつかのNSCalendarDateメソッドが返す日付オブジェクトには、自動的にタイムゾーンオブジェクトが含まれます。

これらの日付オブジェクトは、適したロケールの日付に調整するために、NSTimeZoneの機能を使用します。

特に指定がない場合、NSCalendarDateは現在のロケールをデフォルトのタイムゾーンとしてオブジェクトを返します。

ただしタイムゾーンのデータベースは、『America/Los_Angeles』という名前ではなくIDで登録されているため、注意してください。

例えば『太平洋夏時間(Pacific Daylight Time)』というタイムゾーンの名前になります。

多くのNSTimeZoneメソッド名には『name』が含まれますので、IDを参照してください。

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

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

例えば、NSTimeZone *パラメータをメソッドで参照する際、CFTimeZoneRefに渡し、CFTimeZoneRefパラメータとして関数で参照でき、(コンパイラの警告を抑えるために型変換をして)NSTimeZoneインスタンスに渡すこともできます。



●タスク

●タイムゾーンオブジェクトの生成と初期化

timeZoneWithAbbreviation:
・timeZoneWithName:
・timeZoneWithName:data:
・timeZoneForSecondsFromGMT:
・initWithName:
・initWithName:data:
・timeZoneDataVersion

●システムタイムゾーンでの作業

・localTimeZone
・defaultTimeZone
・setDefaultTimeZone:
・resetSystemTimeZone
systemTimeZone

●タイムゾーン情報の取得

abbreviationDictionary
・knownTimeZoneNames
・setAbbreviationDictionary:

●特定のタイムゾーンに関する情報の取得

・abbreviation
・abbreviationForDate:
・name
・secondsFromGMT
・secondsFromGMTForDate:
・data

●タイムゾーンの比較

・isEqualToTimeZone:

●タイムゾーンの記述

・description
・localizedName:locale:

●夏時間に関する情報の取得

・isDaylightSavingTime
・daylightSavingTimeOffset
・isDaylightSavingTimeForDate:
・daylightSavingTimeOffsetForDate:
・nextDaylightSavingTimeTransition
・nextDaylightSavingTimeTransitionAfterDate:



●クラスメソッド

abbreviationDictionary

+ (NSDictionary *)abbreviationDictionary

タイムゾーンの名前と略字をマッピングしている辞書を返します。

複数のタイムゾーンが同じ略語を持つ場合があります。

例えば、US/PacificとCanada/Pacificの略字は『PST』になります。

この場合、abbreviationDictionaryは指定した略字に対して一つのタイムゾーンを返します。


systemTimeZone

+ (NSTimeZone *)systemTimeZone

現在システムで使われているタイムゾーンを返します。

現在のタイムゾーンが取得できない場合は、グリニッジ標準時(GMT)を返します。

システムのタイムゾーンを取得する場合、アプリケーションによってキャッシュされるため、ユーザがその後でシステムのタイムゾーンを変更しても更新されません。

したがってsystemTimeZoneを再び呼び出しても、最初に取得したタイムゾーンと同じものになります。

アプリケーションのキャッシュをクリアするにはresetSystemTimeZoneを呼び出してください。


timeZoneWithAbbreviation:

+ (id)timeZoneWithAbbreviation:(NSString *)abbreviation

指定した略字を識別したタイムゾーンオブジェクトを返します。

abbreviationで指定した略字の名前はabbreviation dictionary(略字辞書)を使って識別し、タイムゾーンの名前をタイムゾーンオブジェクトとして返します。

abbreviationで指定した名前が辞書に無い場合はnilを返します。

一般的には、『UTC』や『GMT』など固有の略字以外は使用を推奨しません。

タイムゾーンの略字は標準ではなく、指定した略字が複数該当する場合もあります。

例えば『EST』は東部時間を意味しますが、米国とオーストラリアの両方が該当します。

abbreviation:タイムゾーンの略字を指定します



●インスタンスメソッド



●定数



●通知



参考文献

NSTimeZone 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