NTP協議網路時間同步 ios中應用 實現秒殺倒計時
專案中需要實現秒殺倒計時功能,手機客戶端本地系統時間有被修改的可能,因此無法獲取本地時間來做,下面看實現程式碼吧
-(void)startTimerShow
{
self.ysmagTimer = [NSTimerscheduledTimerWithTimeInterval:1.0target:selfselector:@selector(timerFireMethod) userInfo:nilrepeats:YES];
}
- (void)timerFireMethod
{
//當天
NSDate *todayNet = [NSDate networkDate];
NSDateFormatter *dateFormatter = [[
[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
NSString *destDateStringqq = [dateFormatter stringFromDate:tomorrowNet];
NSString *qgksTime = [NSStringstringWithFormat:@"%@-%@-%@ 10:00:00",[destDateStringqq substringWithRange:NSMakeRange(0, 4)],[destDateStringqq substringWithRange:NSMakeRange(5, 2)],[destDateStringqq substringWithRange:
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;
}