我需要在 12 小时格式的时间中添加一些动态分钟数。我有一个 12 小时格式的时间为下午 1:45。如何添加一些动态分钟数,如 15、30、60,如果添加 15 分钟,则为下午 2:00。当它是 12:00如果添加60分钟,添加的时间应该变成下午1:00。在android中我们可以拆分做相应的过程。但无法理解在iphone中如何做。
时间为 AM 格式时的情况相同
任何建议/帮助都将是可观的。
用于NSDate
根据您的时间创建日期对象。然后NSDateComponents
从该日期创建并将分钟添加到日期。之后,您可以创建一个新NSDate
对象,您可以使用 12HR 格式向用户发送该对象NSDateFormatter
假设现在时间=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