文字列の日付を 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);
0 件のコメント:
コメントを投稿