IOS倒计时的制作
说明:1、activeStatue为活动状态的字段
2、_timeLab为全局的UIlabel,倒计时的文字就是展示在这个Label上
#pragma mark - 判断活动是否开始-倒计时
- (void)judementActiveTime
{
NSString *activeStatue = @"1";
if ([activeStatue isEqualToString:@"0"]) {
_timeLab.text = [NSString stringWithFormat:@"活动即将开始"];
}
else if ([activeStatue isEqualToString:@"1"]){
_activeTimer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(caculateActiveLeaveTime) userInfo:nil repeats:YES];
[_activeTimer fire];
}
else if ([activeStatue isEqualToString:@"2"]){
_timeLab.text = [NSString stringWithFormat:@"本场活动已结束"];
}
}
#pragma mark - 倒计时计数
- (void)caculateActiveLeaveTime
{
//此时时间的时间戳
NSDate *dateNow = [NSDate date];
NSTimeInterval nowInterval = [dateNow timeIntervalSince1970];
NSString *nowStr = [NSString stringWithFormat:@"%.0f",nowInterval];
// NSLog(@"nowStr-->%@",nowStr);
//指定一个活动即将开始的时间戳
NSString *activeTime =@"1451401200";
if ([activeTime isEqualToString:nowStr])
{
_timeLab.text = @"倒计时 00:00:00";
[_activeTimer invalidate];
_activeTimer = nil;
return;
}
NSDate *timeDate = [NSDate dateWithTimeIntervalSince1970:(([activeTime doubleValue])-nowInterval-28800)];
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"HH:mm:ss"];
NSString *timeStr = [formatter stringFromDate:timeDate];
_timeLab.text = [NSString stringWithFormat:@"倒计时 %@",timeStr];
// HHNSLog(@"倒计时剩余时间 --> %f,%@",nowInterval-28800-([self.mainModel.countdown doubleValue]),timeStr);
}