Objective-C
iPhone

日付をローカライズしながらフォーマットも指定するdateFormatFromTemplate:options:locale

More than 5 years have passed since last update.

NSDateFormatterShortStyleを指定したけど12/6/28とか表示されてYearは要らないのにキー!となったらtemplateを試しましょう。日付の要素を指定しつつローカライズしてくれます。

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:[NSDateFormatter dateFormatFromTemplate:@"Md" options:0 locale:[NSLocale currentLocale]]];
NSLog(@"%@", [formatter stringFromDate:[NSDate date]]); // 6/28
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateStyle:NSDateFormatterShortStyle];
NSLog(@"%@", [formatter stringFromDate:[NSDate date]]); // 12/6/28
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"M/d"];
NSLog(@"%@", [formatter stringFromDate:[NSDate date]]); // 6/28は出力されるがフォーマットは他言語にローカライズされない