HTML5   发布时间:2022-04-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ios – 如何从当前时间到晚上10:30获取每30:00(30分钟)的时间间隔大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
需要帮助显示每30分钟的时间间隔,假设当前时间是上午11:45

时间间隔应为:中午12:00,下午12:30,下午01:00,下午01:30,下午02:00,下午02:30 ……晚上10:30.

NSString *time = @"10.30 pm";

     NSDate *date1;
        NSDate *date2;
        {
            NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
            [formatter setDateFormat:@"hh.mm a"];
            date1 = [formatter dateFromString:time];
            date2 = [formatter dateFromString:[formatter StringFromDate:[NSDate date]]];

        }
        NSTimeInterval interval = [date1 timeIntervalSinceDate: date2];//[date1 timeIntervalSince1970] - [date2 timeIntervalSince1970];
        int hour = interval / 3600;
        int minute = (int)interval % 3600 / 60;

        NSLog(@"%@ %dh %dm",interval<0?@"-":@"+",ABS(hour),ABS(minutE));

代码返回当前时间与给定时间的差异,如何进一步处理.

解决方法

你可以做点什么,

NSString *startTime = @"02:00 AM";
NSString *endTime = @"11:00 AM";


NSDateFormatter *timeFormat = [[NSDateFormatter alloc] init];
[timeFormat setDateFormat:@"hh:mm a"];
NSDate* fromTime = [timeFormat dateFromString:startTime];
NSDate* toTime = [timeFormat dateFromString:endTime];
NSDate *dateByAddingThirtyminute ;
NSTimeInterval timeinterval = [toTime timeIntervalSinceDate:fromTime];
NSLog(@"timE int %f",timeinterval/3600);
float numberOfIntervals = timeinterval/3600;
NSLog(@"Start time %f",numberOfIntervals);

for(int iCount = 0;iCount < numberOfIntervals*2 ;iCount ++)
{
    dateByAddingThirtyminute = [fromTime dateByAddingTimeInterval:1800];
    fromTime = dateByAddingThirtyminute;
    NSString *formattedDateString;
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"hh:mm a"];
    formattedDateString = [dateFormatter StringFromDate:dateByAddingThirtyminute];
    NSLog(@"Time after 30 min %@",formattedDateString);
}

在for循环中,我已经取了numberOfIntervals * 2,因为时间间隔是30分钟,所以60/30 = 2,你的datebyAddingThirtyminute是1800,因为30分钟= 1800秒.如果你想要每10分钟一次,那么它应该是60/10 = 6,所以它应该是numberOfIntervals * 6.你的datebyAddingThirtyminute应该是[fromTime dateByAddingTimeInterval:600];

希望这会有所帮助:)

大佬总结

以上是大佬教程为你收集整理的ios – 如何从当前时间到晚上10:30获取每30:00(30分钟)的时间间隔全部内容,希望文章能够帮你解决ios – 如何从当前时间到晚上10:30获取每30:00(30分钟)的时间间隔所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。