我需要以12小时格式添加一些动态的分钟数。 我有一个12小时格式的时间作为下午1:45。我如何添加一些动态的分钟数,如15,30,60,如果添加15分钟,则下午2:00。当它是12:00 PM如果加上60分钟,增加的时间应该变成下午1点。在android中我们可以拆分做相应的过程。但是在iphone中无法理解怎么办。
时间为AM格式时的相同情况
任何建议/帮助都会很明显。
答案 0 :(得分:0)
现在假设时间= 1:45表示
小时= 1&分钟= 45&你必须加15分钟然后
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
答案 1 :(得分:0)
使用NSDate
从您的时间创建日期对象。然后从该日期创建NSDateComponents
并将分钟添加到日期。
之后,您可以创建一个新的NSDate
对象,您可以使用NSDateFormatter