2012/08/19

[iOS][Objective-C]NSStringの日付をNSDateに変換

Google App Engineから取り出した文字列型の日付をNSDateに変換したくてやり方を調査しました。

Data Formatting GuideのParsing Date Strings

UNICODE LOCALE DATA MARKUP LANGUAGE (LDML)のAppendix F: Date Format Patterns
を読んでみたところ、下のようなソースで落ち着きました。

NSString *httpRequestNSStringDate = @"2012:08:19:20:31:12";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy':'MM':'dd':'HH':'mm':'ss"];
[dateFormatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];
NSDate *wantedDate = [dateFormatter dateFromString:httpRequestNSStringDate];
NSLog(@"%@",wantedDate);
サーバーから受け取る時刻のフォーマットを「yyyy:MM:dd:HH:mm:ss」としています。
で、NSLogでデバッグしたところ、NSDate型に変換することができました。

これで、任意のNSString型日付データがきても困りませんね。

0 コメント:

コメントを投稿