ios – 如何从当前时间到晚上10:30获取每30:00(30分钟)的时间间隔

ios – 如何从当前时间到晚上10:30获取每30:00(30分钟)的时间间隔,第1张

概述需要帮助显示每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; { NSDate 需要帮助显示每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分钟)的时间间隔所遇到的程序开发问题。

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

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1209430.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存