文字列の日付を NSDate に変換します。
こんな感じで。
NSString *stringPubDate = @"Tue, 30 Nov 2010 06:54:00 +0000";
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"EEE, dd MMM yyyy HH:mm:ss ZZZZ"];
NSDate *pubDate = [formatter dateFromString:stringPubDate];
[formatter release];
NSLog(@"%@", pubDate);
EEEを探すのに苦労した。
記号の一覧がまとまってるサイトを探してたけど、見つけられなかった。
EEEが見つかる前は仕方ない、こんな感じにしようと思った。
NSString *stringPubDate = @"Tue, 30 Nov 2010 06:54:00 +0000";
NSArray *splitDate = [stringPubDate componentsSeparatedByString:@", "];
NSDictionary *weekDict = [NSDictionary dictionaryWithObjectsAndKeys:
@"月", @"Mon",
@"火", @"Tue",
@"水", @"Wed",
@"木", @"Thu",
@"金", @"Fri",
@"土", @"Sat",
@"日", @"Sun",nil];
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"dd MMM yyyy HH:mm:ss ZZZZ"];
NSDate *pubDate = [formatter dateFromString:[splitDate objectAtIndex:1]];
[formatter release];
NSLog(@"%@ %@曜日", pubDate, [weekDict objectForKey:[splitDate objectAtIndex:0]]);
ついでなので、NSDate から文字列に変換してみる。
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"Asia/Tokyo"]];
[dateFormatter setDateFormat:@"yyyy年MM月dd日HH時mm分ss秒"];
NSString *stringPubDate = [dateFormatter stringFromDate:pubDate];
[dateFormatter release];
NSLog(@"pubDate [ %@ ] [ %@ ]", pubDate, stringPubDate);