0

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

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

任何建议/帮助都将是可观的。

4

2 回答 2

0

用于NSDate根据您的时间创建日期对象。然后NSDateComponents从该日期创建并将分钟添加到日期。之后,您可以创建一个新NSDate对象,您可以使用 12HR 格式向用户发送该对象NSDateFormatter

于 2013-01-24T09:06:12.860 回答
0

假设现在时间=1:45 这意味着

小时=1 & 分钟=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

于 2013-01-24T08:50:45.163 回答