iOS利用时间戳获得两个字符串时间差,并闪动提示用户剩余时间

来源:互联网 发布:哪个软件听音乐最好 编辑:程序博客网 时间:2024/06/10 02:45

最近用到了时间戳,好久没有用过,所以有些生疏了,所以特将代码贴到此处,供遇到类似问题的人借鉴。

- (void)ExamPaperDict:(NSDictionary *)examPaperDict{    //设置答题剩余时间    NSString *subMitTime = [examPaperDict objectForKey:@"SUBMITTIME"];    NSString *str1 = [subMitTime substringFromIndex:11];    NSString *str2 = [str1 substringToIndex:8];    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];    [formatter setDateStyle:NSDateFormatterMediumStyle];    [formatter setTimeStyle:NSDateFormatterShortStyle];    [formatter setDateFormat:@"HH:mm:ss"];    NSDate* date = [formatter dateFromString:str2];    //把时间转化成时间戳    int timeSp1 =  [date timeIntervalSince1970];    self.timeSp1 = timeSp1;    //创建定时器    NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:1.0f target:self selector:@selector(showTime) userInfo:nil repeats:YES];    [[NSRunLoop currentRunLoop]addTimer:timer forMode:NSRunLoopCommonModes];    [timer fire];}
/* * 定时器开始,此方法每隔1秒执行一次,显示剩余考试时间 */- (void)showTime{    //获取当前时间    NSDate *myDate = [NSDate date];    NSTimeZone *zone = [NSTimeZone systemTimeZone];    NSInteger interval = [zone secondsFromGMTForDate: myDate];    NSDate *localeDate = [myDate  dateByAddingTimeInterval: interval];    NSString *myDataStr = [NSString stringWithFormat:@"%@",localeDate];    NSString *mystr1 = [myDataStr substringFromIndex:11];    NSString *mystr2 = [mystr1 substringToIndex:8];    NSDateFormatter *formatter1 = [[NSDateFormatter alloc] init];    [formatter1 setDateStyle:NSDateFormatterMediumStyle];    [formatter1 setTimeStyle:NSDateFormatterShortStyle];    [formatter1 setDateFormat:@"HH:mm:ss"];    NSDate* date1 = [formatter1 dateFromString:mystr2];    int timeSp2 = [date1 timeIntervalSince1970];    int sp = self.timeSp1 - timeSp2;    if (sp >=0 ) {   // 时间戳转时间的方法        NSDate *confromTimesp = [NSDate dateWithTimeIntervalSince1970:sp];        NSString *labStr = [NSString stringWithFormat:@"%@",confromTimesp];        NSString *labstr1 = [labStr substringFromIndex:11];        NSString *labstr2 = [labstr1 substringToIndex:8];        self.endTimeLable1.text =[NSString stringWithFormat:@"离交卷时间:%@",labstr2];       }}
0 0
原创粉丝点击