12時間形式の時間にダイナミックな分数を追加する必要があります。12 時間形式で 1:45 PM の時刻があります。15、30、60 のような動的な分数をそれに追加し、15 分を追加すると 2:00 PM として取得するにはどうすればよいですか。12:00 PM の場合60分足すと13:00PMになるはずです。 Androidなら分割して処理できますが、iphoneではやり方がわかりません。
時刻が AM 形式の場合も同様
提案/ヘルプはかなりのものです。
time =1:45 とします。
hour=1 & minutes=45 & 15 min.then を追加する必要があります。
minutes=minutes+15
if(minutes==60)
{
hour=hour+1;
minutes=0;
}
else if(minutes>60)
{
hour=hour+1;
minutes=minutes-60;
}
else
{
minutes=minutes;
}
次のコードで時、分、秒を取得できます
NSDate *date = [NSDate date];
NSCalendar *calendar = [NSCalendar currentCalendar];
unsigned int unitFlags = NSHourCalendarUnit|NSMinuteCalendarUnit|NSSecondCalendarUnit;
NSDateComponents *comp = [calendar components:unitFlags fromDate:date];
NSInteger h = [comp hour];
NSInteger m = [comp minute];
NSInteger s = [comp second];
NSLog(@"%i,%i,%i", h,m,s);
UPdated1: AM を PM に、または PM を AM に設定するには、時間が 12 より大きいかどうかを確認します。
つまり、今が PM だとします。
新しく計算された時間がhour>12
AM に変更されている場合
NSDate
時刻から日付オブジェクトを作成するために使用します。次にNSDateComponents
、その日付から作成し、分を日付に追加します。NSDate
その後、12HR 形式でユーザーに提示できる新しいオブジェクトを作成できます。NSDateFormatter