美文网首页
OC --- 时间格式包含“T”,“Z”处理

OC --- 时间格式包含“T”,“Z”处理

作者: BabyNeedCare | 来源:发表于2021-11-22 11:41 被阅读0次

    2021-11-11T07:41:25Z, 这样类型的时间格式,是否见过? 第一次见到,实在惊呆了,不明白什么意思? 后面发现,如果包含了“T”,代表要延后8小时,也就是07+08 = 15

    #pragma mark --- 时间格式转换, 是否超时:2021-11-11T07:41:25Z
    + (BOOL)isCurrentTimeOutDate:(NSString *)string {
    
        NSString *str =[string stringByReplacingOccurrencesOfString:@"T"withString:@" "];
    
        NSString *sss =[str substringToIndex:19];
    
        NSDateFormatter *dateFromatter = [[NSDateFormatter alloc] init];
    
        [dateFromatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
    
        NSTimeZone* timeZone = [NSTimeZone timeZoneWithName:@"Asia/Shanghai"];
    
        [dateFromatter setTimeZone:timeZone];
    
        NSDate *date = [dateFromatter dateFromString:sss];
    
        NSDate *newdate = [[NSDate date] initWithTimeInterval:8 * 60 * 60 sinceDate:date];//
    
        NSDate *newdate1 = [[NSDate date] initWithTimeInterval:8 * 60 * 60 sinceDate:newdate];
    
        NSString *newstr =[NSString stringWithFormat:@"%@",newdate1];
        
        NSArray *array = [newstr componentsSeparatedByString:@" "];
        
        NSString *finalString = newstr;
        
        BOOL isOutDate = NO;
        
        if (array.count > 0) {
            
            finalString = [NSString stringWithFormat:@"%@ %@",array.firstObject,array[1]];
            
            NSString *detailRestTimeString = [UtilityClass getNowTimeWithString:finalString];
            
            if ([detailRestTimeString isEqualToString:@"已超时"]){
                
                isOutDate = YES;
            }else{
                
                
            }
        } else {
            
            isOutDate = YES;
        }
        return isOutDate;
    }

    相关文章

      网友评论

          本文标题:OC --- 时间格式包含“T”,“Z”处理

          本文链接:https://www.haomeiwen.com/subject/ezxbtrtx.html