- (void)timerFireMethod:(NSTimer *)theTimer
{
long long t = self.nowTimeStr.intValue + 1;
NSNumber *Number = [NSNumber numberWithLongLong:t];
self.nowTimeStr = [NSString stringWithFormat:@"%@",Number];
[self timechange:self.nowTimeStr];
NSCalendar *cal = [NSCalendar currentCalendar];//定义一个NSCalendar对象
NSDateComponents *endTime = [[NSDateComponents alloc] init]; //初始化目标时间...
// NSDate *today = [NSDate date]; //得到当前时间
NSDate *today = _nowTime ; //得到当前时间
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] 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);
static int year;
static int month;
static int day;
static int hour;
static int minute;
static int 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 = [cal dateFromComponents:endTime]; //把目标时间装载入date
//用来得到具体的时差,是为了统一成北京时间
// unsigned int unitFlags = NSYearCalendarUnit| NSMonthCalendarUnit| NSDayCalendarUnit| NSHourCalendarUnit| NSMinuteCalendarUnit| NSSecondCalendarUnit;
unsigned int unitFlags = NSDayCalendarUnit| NSHourCalendarUnit| NSMinuteCalendarUnit| NSSecondCalendarUnit;
NSDateComponents *d = [cal components:unitFlags fromDate:today toDate:todate options:0];
NSString *fen = [NSString stringWithFormat:@"%zd", [d minute]];
if([d minute] < 10) {
fen = [NSString stringWithFormat:@"0%zd",[d minute]];
}
NSString *miao = [NSString stringWithFormat:@"%zd", [d second]];
if([d second] < 10) {
miao = [NSString stringWithFormat:@"0%zd",[d second]];
}
if([d second] > 0 ||[d minute] > 0 ||[d hour] > 0 ||[d day] > 0) {
self.start.text= @"距开始";
//计时尚未结束,do_something
// NSLog(@"%@",d);
NSString *str = [NSString stringWithFormat:@"还剩%zd月%zd天%zd时%zd分%zd秒",d.month,d.day,d.hour,d.minute,d.second];
NSString * t = [NSString stringWithFormat:@"%zd",d.day];
NSString * h = [NSString stringWithFormat:@"%zd",d.hour];
NSString * m = [NSString stringWithFormat:@"%zd",d.minute];
NSString * s = [NSString stringWithFormat:@"%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;
} else if([d second] == 0 &&[d minute] == 0 &&[d hour] == 0 &&[d day] == 0 ) {
self.isStart = 1 ;
[self setHe];
self.start.text= @"距结束";
[self buildDetailList ];
}else{
self.isStart = 1 ;
self.start.text= @"距结束";
//[self buildDetailList ];
[theTimer invalidate];
timer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(timerFireMethodTw:) userInfo:nil repeats:YES];
}
}