Ios 检查Objective-C中的日期格式样式

Ios 检查Objective-C中的日期格式样式,ios,objective-c,date,nsdateformatter,Ios,Objective C,Date,Nsdateformatter,我们如何检查从API获得响应的日期格式以及从字符串中根据格式转换日期的日期格式,但混淆的是以两种格式获取日期,yyyy-MM-dd'T'HH:MM:ss.SSS和yyyy-MM-dd'T'HH:MM:ss有些包括SSS,有些则不是,请告诉我如何首先检查日期格式样式,然后根据该样式使用日期格式 下面我将使用代码将字符串转换为所需的格式 NSString *dateStr = @"2016-01-18T13:28:06.357"; NSDateFormatter *formatter = [[NSD

我们如何检查从API获得响应的日期格式以及从字符串中根据格式转换日期的日期格式,但混淆的是以两种格式获取日期,
yyyy-MM-dd'T'HH:MM:ss.SSS
yyyy-MM-dd'T'HH:MM:ss
有些包括
SSS
,有些则不是,请告诉我如何首先检查日期格式样式,然后根据该样式使用日期格式

下面我将使用代码将字符串转换为所需的格式

NSString *dateStr = @"2016-01-18T13:28:06.357";
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSS"];
NSDate *date = [formatter dateFromString:dateStr];

正在查找您的响应。

将API响应
日期作为字符串传递,并检查日期的格式。如果它不匹配任何格式,那么您可以返回您想要的任何其他格式

- (NSString*) isFirstTypeDate: (NSString*) theString
    {
        NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
        [dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSS"];
         NSDate *dateFromString = [NSDate date];

        dateFromString = [dateFormatter dateFromString:theString];

        if (dateFromString !=nil) {
            return @"yyyy-MM-dd'T'HH:mm:ss.SSS";
        }
        else {

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

            dateFromString = [dateFormatter dateFromString:theString];

            if (dateFromString !=nil) {

                return @"yyyy-MM-dd'T'HH:mm:ss";

            }else{

            return @"Default Date formate you want";

            }
        }
    }
初步检查

NSDate *date;
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
 // Initially check like   2016-01-18T13:28:06.357
[formatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSS"];
// it returns the date ,
 date = [formatter dateFromString:dateStr];
 // check if date is empty or 
 if(date == nil) {
  // add the another date format 
  [formatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss"];
  date = [formatter dateFromString:dateStr];
}

不要只是张贴代码。解释你的答案是如何解决问题的。谢谢@rmaddy的建议。:)尝试一种格式。如果失败,请尝试其他格式。您认为这是一个好的解决方案吗?如果日期格式也可以是其他格式,那么我必须添加另一种格式。@Aleem--但您的条件是基于我实现的两种格式,仅满足两种格式