1. 程式人生 > >NTP協議網路時間同步 ios中應用 實現秒殺倒計時

NTP協議網路時間同步 ios中應用 實現秒殺倒計時

專案中需要實現秒殺倒計時功能,手機客戶端本地系統時間有被修改的可能,因此無法獲取本地時間來做,下面看實現程式碼吧

-(void)startTimerShow

{

self.ysmagTimer = [NSTimerscheduledTimerWithTimeInterval:1.0target:selfselector:@selector(timerFireMethod) userInfo:nilrepeats:YES];

}

- (void)timerFireMethod

{

    //當天

    NSDate *todayNet = [NSDate networkDate];

NSDateFormatter *dateFormatter = [[

NSDateFormatteralloc] init];

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

    [dateFormatter setTimeZone:[NSTimeZonetimeZoneWithName:@"CCD"]];

    NSString *destDateString = [dateFormatter stringFromDate:todayNet];

    NSTimeInterval interVal = 24*60*60;

    NSDate *tomorrowNet = [todayNet dateByAddingTimeInterval

:interVal];

    NSString *destDateStringqq = [dateFormatter stringFromDate:tomorrowNet];

NSString *qgksTime = [NSStringstringWithFormat:@"%@-%@-%@ 10:00:00",[destDateStringqq substringWithRange:NSMakeRange(0, 4)],[destDateStringqq substringWithRange:NSMakeRange(5, 2)],[destDateStringqq substringWithRange:

NSMakeRange(8, 2)]];

    NSDate *today = [dateFormatter dateFromString:qgksTime];

       NSLog(@"難道就這樣成功了嗎  %@",today);

- (NSString *)intervalFromLastDate: (NSDate *) d1  toTheDate:(NSDate *) d2

//    NSArray *timeArray1=[dateString1 componentsSeparatedByString:@"."];

//    dateString1=[timeArray1 objectAtIndex:0];

//    

//    

//    NSArray *timeArray2=[dateString2 componentsSeparatedByString:@"."];

//    dateString2=[timeArray2 objectAtIndex:0];

//    

//    NSLog(@"%@.....%@",dateString1,dateString2);

//    NSDateFormatter *date=[[NSDateFormatter alloc] init];

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

//    NSDate *d1=[date dateFromString:dateString1];

NSTimeInterval late1=[d1 timeIntervalSince1970]*1;

//    NSDate *d2=[date dateFromString:dateString2];

NSTimeInterval late2=[d2 timeIntervalSince1970]*1;

    NSTimeInterval cha=late2-late1;

    NSString *timeString=@"";

    NSString *house=@"00";

    NSString *min=@"00";

    NSString *sen=@"00";

    sen = [NSString stringWithFormat:@"%d", (int)cha%60];

//        min = [min substringToIndex:min.length-7];

//   

    sen=[NSString stringWithFormat:@"%@", sen];

    min = [NSString stringWithFormat:@"%d", (int)cha/60%60];

//        min = [min substringToIndex:min.length-7];

//   

    min=[NSString stringWithFormat:@"%@", min];

//    小時

    house = [NSString stringWithFormat:@"%d", (int)cha/3600];

//        house = [house substringToIndex:house.length-7];

    house=[NSString stringWithFormat:@"%@", house];

    if ([house intValue]<10) {

        house = [NSString stringWithFormat:@"0%@",house];

    }else{

        house = [NSString stringWithFormat:@"%@",house];

    }

    if ([min intValue]<10) {

        min = [NSString stringWithFormat:@"0%@",min];

    }else{

        min = [NSString stringWithFormat:@"%@",min];

    }

    if ([sen intValue]<10) {

        sen = [NSString stringWithFormat:@"0%@",sen];

    }else{

        sen = [NSString stringWithFormat:@"%@",sen];

    }

ytLbl_.text = [house substringWithRange:NSMakeRange(0, 1)];

atLbl_.text = [house substringWithRange:NSMakeRange(1, 1)];

ntLbl_.text = [min substringWithRange:NSMakeRange(0, 1)];

gtLbl_.text = [min substringWithRange:NSMakeRange(1, 1)];

stLbl_.text = [sen substringWithRange:NSMakeRange(0, 1)];

htLbl_.text = [sen substringWithRange:NSMakeRange(1, 1)];

    timeString=[NSString stringWithFormat:@"%@:%@:%@",house,min,sen];

//    [date release];

    return timeString;

}