&tag(Objective-C/日付と時刻);
*目次 [#y0f4babe]
#contents
*参考情報 [#d92e67e8]
-[[Objective-C]]
-[[文字列からNSDate型に変換する: iPhoneアプリ開発備忘録:http://iphone-app-developer.seesaa.net/article/134688683.html]]
-[[FirstResponder:NSDateをNSStringにしたい - livedoor Blog(ブログ):http://blog.livedoor.jp/firstresponder/archives/50089841.html]]
-[[NSDateFormatter - 文字列と日付の変換 - 強火で進め:http://d.hatena.ne.jp/nakamura001/20100525/1274802305]]
*NSDateを生成する [#r51cfa92]
**現在の日付 [#db22e7a0]
 [NSDate date]
**文字列から生成する [#le6b5693]
#pre{{
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setTimeStyle:NSDateFormatterFullStyle];
[formatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZZZZ"];
NSDate *date = [formatter dateFromString:@"2009-12-05T20:26:00+09:00"];
[formatter release];
}}
*NSDateを文字列に変換する [#t1115f69]
**NSDateFormatterを使って書式指定 [#r99d5b68]
#pre{{
NSDateFormatter *formatter = [[[NSDateFormatter alloc] 
    initWithDateFormat:@"%Y/%m/%d %H:%M:%S" 
    allowNaturalLanguage:FALSE] autorelease];

NSDate* date = [NSDate date];
NSString* dateStr = [formatter stringFromDate:date];
}}

**NSDateFormatterでおおざっぱな形式を指定 [#t998f7bf]
-[[How to make NSDateFormatter display locale-specific 2010-08-30 - Stack Overflow:http://stackoverflow.com/questions/1348590/how-to-make-nsdateformatter-display-locale-specific-date]]
-setDateStyle / setTimeStyleを指定する。言語設定に応じた文字列が帰ってくるメリットがある。
*日付の計算を行う [#a9ee54c9]
**日付の差を取得する [#j18f7db5]
-[[NSDate - 日付の計算、過去の日や末日を求める方法 - 強火で進め:http://d.hatena.ne.jp/nakamura001/20100609/1276101689]]より。dateB > dateAで計算しないと正の数が帰ってこないらしい。
#pre{{
	NSDateFormatter *inputDateFormatter = [[NSDateFormatter alloc] init];
	[inputDateFormatter setDateFormat:@"yyyy/MM/dd HH:mm:ss"];
	NSDate *dateA = [inputDateFormatter dateFromString:@"2000/03/01 00:00:00"];
	NSDate *dateB = [inputDateFormatter dateFromString:@"2000/03/03 00:00:00"];
	// dateBとdateAの時間の間隔を取得(dateB - dateAなイメージ)
	NSTimeInterval  since = [dateB timeIntervalSinceDate:dateA];
	NSLog(@"%f秒", since);
	NSLog(@"%f分", since/60);
	NSLog(@"%f時", since/(60*60));
	NSLog(@"%f日", since/(24*60*60));
	[inputDateFormatter release];
}}

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS