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

2021-11-22  本文已影响0人  BabyNeedCare

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;
}
上一篇下一篇

猜你喜欢

热点阅读