通过获取的秒数实现倒计时

利用NSTimer实现



//在需要调用倒计时的地方写

[NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(timerFireMethod:) userInfo:nil repeats:YES];



- (void)timerFireMethod:(NSTimer*)theTimer

{

    

    NSCalendar *cal = [NSCalendar currentCalendar];//定义一个NSCalendar对象

    NSDateComponents *shibo = [[[NSDateComponents alloc] init] autorelease];//初始化目标时间

    

    

    //显示当前时间

    NSDate *date = [NSDate date];

    NSDateFormatter *format = [[NSDateFormatter alloc] init];

    NSDateFormatter *format2 = [[NSDateFormatter alloc] init];

    NSDateFormatter *format3 = [[NSDateFormatter alloc] init];

    NSDateFormatter *format4 = [[NSDateFormatter alloc] init];

    NSDateFormatter *format5 = [[NSDateFormatter alloc] init];

    [format setDateFormat:@"YYYY"];

    [format2 setDateFormat:@"MM"];

    [format3 setDateFormat:@"dd"];

    [format4 setDateFormat:@"HH"];

    [format5 setDateFormat:@"mm"];

    //HH24进制 hh12进制 

    //    //YYYY代表4为的年

    //    //MM代表两位的月

    //    //dd代表两位的日

    //    //HH代表24进制小时

    //    //mm代表两位的分钟

    //    //ss代表两位的秒

    

    NSString *dateStr = [format stringFromDate:date];//转为北京时间

    NSString *dateStr2 = [format2 stringFromDate:date];//转为北京时间

    NSString *dateStr3 = [format3 stringFromDate:date];//转为北京时间

    NSString *dateStr4 = [format4 stringFromDate:date];//转为北京时间

    NSString *dateStr5 = [format5 stringFromDate:date];//转为北京时间

    

    

    NSInteger year = [dateStr intValue];

    NSInteger month = [dateStr2 intValue];

    NSInteger day = [dateStr3 intValue];

    NSInteger hour = [dateStr4 intValue];

    NSInteger minute = [dateStr5 intValue];

    NSInteger Second = [_Str2 intValue];//获取的秒数

    

    

    

    [shibo setYear:year];

    [shibo setMonth:month];

    [shibo setDay:day];//使用NSTimer实现倒计时

    [shibo setHour:hour];

    [shibo setMinute:minute];

    [shibo setSecond:Second];

    

    NSDate *todate = [cal dateFromComponents:shibo];//把目标时间装载入date

    //    [shibo release];

    NSDate *today = [NSDate date];//得到当前时间

    

    //用来得到具体的时差

    unsigned int unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit;

    NSDateComponents *d = [cal components:unitFlags fromDate:today toDate:todate options:0];

    if (Second < 0) {

        self.Mexpires.text = @"已结束";

    }else{

        self.Mexpires.text = [NSString stringWithFormat:@"剩余%d%d%d%d", [d day], [d hour], [d minute], [d second]];

        self.Mexpires.font = [UIFont fontWithName:@"Arial" size:14];

    }

    

}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值