ios倒计时

来源:互联网 发布:linux 强制复制 编辑:程序博客网 时间:2024/06/07 15:05

- (void)timerFireMethod:(NSTimer *)theTimer


{

    longlong t = self.nowTimeStr.intValue +1;

    NSNumber *Number = [NSNumbernumberWithLongLong:t];

    self.nowTimeStr = [NSStringstringWithFormat:@"%@",Number];

    [selftimechange:self.nowTimeStr];

    

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

    NSDateComponents *endTime = [[NSDateComponentsalloc] init];   //初始化目标时间...

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

     NSDate *today =_nowTime ;    //得到当前时间

    NSDateFormatter *dateFormatter = [[NSDateFormatteralloc] init];

    [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];

   // NSString *dateString = [dateFormatter stringFromDate:date];

    

    

    MiaoSha * mia =  (MiaoSha *)self.timeArray[self.order] ;

    NSString *dateString = mia.DateBegin;

    NSLog(@"***********%@",dateString);

    

    

    staticint year;

    staticint month;

    staticint day;

    staticint hour;

    staticint minute;

    staticint second;

    if(timeStart) {//NSDate中取出年月日,时分秒,但是只能取一次

        year = [[dateString substringWithRange:NSMakeRange(0,4)] intValue];

        month = [[dateString substringWithRange:NSMakeRange(5,2)] intValue];

        day = [[dateString substringWithRange:NSMakeRange(8,2)] intValue];

        hour = [[dateString substringWithRange:NSMakeRange(11,2)] intValue];

        minute = [[dateString substringWithRange:NSMakeRange(14,2)] intValue];

        second = [[dateString substringWithRange:NSMakeRange(17,2)] intValue];

       // timeStart= NO;

    }

    

    [endTime setYear:year];

    [endTime setMonth:month];

    [endTime setDay:day];

    [endTime setHour:hour];

    [endTime setMinute:minute];

    [endTime setSecond:second];

    NSDate *todate = [caldateFromComponents:endTime]; //把目标时间装载入date

    

   //用来得到具体的时差,是为了统一成北京时间

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

    unsignedint unitFlags =  NSDayCalendarUnit|NSHourCalendarUnit| NSMinuteCalendarUnit|NSSecondCalendarUnit;

    NSDateComponents *d = [calcomponents:unitFlags fromDate:todaytoDate:todate options:0];

    NSString *fen = [NSStringstringWithFormat:@"%zd", [dminute]];

    if([dminute] < 10) {

        fen = [NSStringstringWithFormat:@"0%zd",[dminute]];

    }

    NSString *miao = [NSStringstringWithFormat:@"%zd", [dsecond]];

    if([dsecond] < 10) {

        miao = [NSStringstringWithFormat:@"0%zd",[dsecond]];

    }

    

    if([dsecond] > 0 ||[dminute] > 0 ||[dhour] > 0  ||[dday] > 0) {

        self.start.text=@"距开始";

        //计时尚未结束,do_something

       // NSLog(@"%@",d);

        NSString *str = [NSStringstringWithFormat:@"还剩%zd%zd%zd%zd%zd",d.month,d.day,d.hour,d.minute,d.second];

        NSString * t = [NSStringstringWithFormat:@"%zd",d.day];

          NSString * h = [NSStringstringWithFormat:@"%zd",d.hour];

          NSString * m = [NSStringstringWithFormat:@"%zd",d.minute];

          NSString * s = [NSStringstringWithFormat:@"%zd",d.second];

      

        self.hh.text  = t;

        self.tianH.text =  t ;

        self.hour .text = h;

        self.min .text = m;

        self.sec .text = s;

        //self.lable.text = str;

        

        

        

    } elseif([d second] ==0 &&[d minute] ==0 &&[d hour] ==0 &&[d day] ==0 ) {

        self.isStart =1 ;

        [selfsetHe];

        self.start.text=@"距结束";

        [selfbuildDetailList ];

    }else{

        self.isStart =1 ;

        self.start.text=@"距结束";

        //[self buildDetailList ];

        [theTimer invalidate];

        timer = [NSTimerscheduledTimerWithTimeInterval:1target:selfselector:@selector(timerFireMethodTw:)userInfo:nilrepeats:YES];

    }

    

}

0 0
原创粉丝点击