12時間表示時のバグ(?)
NSDateFormatter
日本語&12時間表示時、『HH:mm』で変換させるとバグる。
以下のような文字変換で、
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateFormat:@"HH:mm"]; NSLog(@"『%@』",[dateFormatter stringFromDate:[NSDate date]]);
午後6時の場合、24時間表示時では、『18:00』。
12時間表示では『18午後6:00』と、両方表示される。
iOS 8以前では、『HH:mm』は『午後6:00』。iOS 9以降で変わった。
ただ、『HH:m』『H:mm』『H:m』では期待通り。
『HH時mm分』などもOK。よく使われそうな『HH:mm』だけおかしい(ーー;
HHは24時間表示用という位置付けのようだけど、12時間表示では、午前と午後(英語ではAM or PM)が自動付加されるので利用しやすい。