-1

私は目的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

どうすればこれを解決できますか? どこが間違っていますか?

4

2 に答える 2

1

これを試して:

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"hh:mm:ss a"];
NSLog(@"Today's Date and Time: %@", [formatter stringFromDate:[NSDate date]]);

出力:

今日の日時: 02:43:33 PM

于 2013-08-22T09:14:40.117 に答える