以12小时格式添加时间,以分钟为单位

时间:2013-01-24 08:10:08

标签: iphone xcode4.5

我需要以12小时格式添加一些动态的分钟数。 我有一个12小时格式的时间作为下午1:45。我如何添加一些动态的分钟数,如15,30,60,如果添加15分钟,则下午2:00。当它是12:00 PM如果加上60分钟,增加的时间应该变成下午1点。在android中我们可以拆分做相应的过程。但是在iphone中无法理解怎么办。

时间为AM格式时的相同情况

任何建议/帮助都会很明显。

2 个答案:

答案 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

以12HR格式向用户提出该对象