千家信息网

iOS怎样实现秒杀活动倒计时

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要介绍iOS怎样实现秒杀活动倒计时,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!IOS关于大型网站抢购、距活动结束,剩余时间倒计时的实现代码,代码比较简单,大家根据需
千家信息网最后更新 2026年11月02日iOS怎样实现秒杀活动倒计时

这篇文章主要介绍iOS怎样实现秒杀活动倒计时,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

IOS关于大型网站抢购、距活动结束,剩余时间倒计时的实现代码,代码比较简单,大家根据需求适当的添加修改删除代码

1.定义4个 Label 来接收倒计时:

@property (weak, nonatomic) IBOutlet UILabel *dayLabel;@property (weak, nonatomic) IBOutlet UILabel *hourLabel;@property (weak, nonatomic) IBOutlet UILabel *minuteLabel;@property (weak, nonatomic) IBOutlet UILabel *secondLabel;

2.在实现文件中实现方法:

//时间戳转换为日期格式(毫秒的时间戳)- (NSString *)timeWithTimeIntervalString:(NSString *)timeString{ // 格式化时间 NSDateFormatter* formatter = [[NSDateFormatter alloc] init]; formatter.timeZone = [NSTimeZone timeZoneWithName:@"shanghai"]; [formatter setDateStyle:NSDateFormatterMediumStyle]; [formatter setTimeStyle:NSDateFormatterShortStyle]; [formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; // 毫秒值转化为秒 NSDate* date = [NSDate dateWithTimeIntervalSince1970:[timeString doubleValue]/ 1000.0]; NSString* dateString = [formatter stringFromDate:date]; NSLog(@"时间 === %@",dateString); return dateString;}-(void)downSecondHandle:(NSString *)aTimeString{ NSDateFormatter *dateFormatter=[[NSDateFormatter alloc] init]; [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; NSDate *endDate = [dateFormatter dateFromString:[self timeWithTimeIntervalString:aTimeString]]; //结束时间 NSDate *endDate_tomorrow = [[NSDate alloc] initWithTimeIntervalSinceReferenceDate:([endDate timeIntervalSinceReferenceDate])]; NSDate *startDate = [NSDate date]; NSString* dateString = [dateFormatter stringFromDate:startDate]; NSLog(@"现在的时间 === %@",dateString); NSTimeInterval timeInterval =[endDate_tomorrow timeIntervalSinceDate:startDate]; if (_timer==nil) { __block int timeout = timeInterval; //倒计时时间 if (timeout!=0) { dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0); _timer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0,queue); dispatch_source_set_timer(_timer,dispatch_walltime(NULL, 0),1.0*NSEC_PER_SEC, 0); //每秒执行 dispatch_source_set_event_handler(_timer, ^{ if(timeout<=0){ //倒计时结束,关闭 dispatch_source_cancel(_timer); _timer = nil; dispatch_async(dispatch_get_main_queue(), ^{ self.dayLabel.text = @""; self.hourLabel.text = @"00"; self.minuteLabel.text = @"00"; self.secondLabel.text = @"00"; }); }else{ int days = (int)(timeout/(3600*24)); if (days==0) { self.dayLabel.text = @""; } int hours = (int)((timeout-days*24*3600)/3600); int minute = (int)(timeout-days*24*3600-hours*3600)/60; int second = timeout-days*24*3600-hours*3600-minute*60; dispatch_async(dispatch_get_main_queue(), ^{ if (days==0) { self.dayLabel.text = @"0天"; }else{ self.dayLabel.text = [NSString stringWithFormat:@"%d天",days]; } if (hours<10) { self.hourLabel.text = [NSString stringWithFormat:@"0%d",hours]; }else{ self.hourLabel.text = [NSString stringWithFormat:@"%d",hours]; } if (minute<10) { self.minuteLabel.text = [NSString stringWithFormat:@"0%d",minute]; }else{ self.minuteLabel.text = [NSString stringWithFormat:@"%d",minute]; } if (second<10) { self.secondLabel.text = [NSString stringWithFormat:@"0%d",second]; }else{ self.secondLabel.text = [NSString stringWithFormat:@"%d",second]; } }); timeout--; } }); dispatch_resume(_timer); } }}

3.在需要出使用:

[self downSecondHandle:@"1494622800000"];

以上是"iOS怎样实现秒杀活动倒计时"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

时间 倒计时 活动 代码 内容 格式 篇文章 适当 价值 兴趣 小伙 小伙伴 文件 方法 日期 更多 知识 网站 行业 资讯 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 华服互联网科技靠谱吗 广州为想互联网科技有限公司 互联网科技网 科技与互联网发展 金融科技与互联网金融 互联网 卓越科技 天下捷融互联网科技 四川狮子座互联网科技 互联网金融科技委员会 互联网科技股有哪些 科技类的互联网平台 丰台科技园 互联网公司 中正互联网科技招聘 恒生科技互联网指数分析 安控科技rtu产品工业互联网 剑昆互联网络科技有限公司临桂 承德科技产业互联网发展 成都铂石互联网科技做什么的 南京一网一红互联网科技有限公司 吉林省码上互联网科技电话 南京欣网互联网络科技有限公司 互联网科技工作委员会主任 智能科技公司是互联网公司吗 互联网科技排名 一五八零互联网科技 国外互联网科技网站 卫星互联网科技股票 阿大互联网科技有限公司 广州市恰铎互联网科技有限公司 中国互联网公司排名锤子科技
0