私は目的cが初めてです。私は次のことをしたい: 24 時間形式を 12 時間形式に変換し、時間に +2 を追加して次のように表示する: 4:00 pm 12 時間形式を取得しますが、+2 を追加した後、時間は常に「am」、つまり午後 4 時であっても午前 4 時と表示されます。以下は私のコードです:
NSDate *now = [NSDate date];
NSDateFormatter *timeFormatter=[[NSDateFormatter alloc]init];
timeFormatter.dateFormat=@"hh:00 a";
NSString *currentHour=[timeFormatter stringFromDate:now ];
lblcurrentHour.text=[NSString stringWithFormat:@"%@",currentHour];
NSLog(@"%@",currentHour);
int hour=[[timeFormatter stringFromDate:now]intValue];
NSDateFormatter *dateFormatter1 = [[NSDateFormatter alloc] init];
dateFormatter1.dateFormat = @"HH:mm";
NSDate *date1 = [dateFormatter1 dateFromString:[NSString stringWithFormat:@"%02d:00",hour+=3]];
dateFormatter1.dateFormat = @"hh:mm a";
lblnextHour.text = [dateFormatter1 stringFromDate:date1]; // prints 4:00 am not pm
どうすればこれを解決できますか? どこが間違っていますか?