我们如何检查我从API获取响应的格式的日期,以及根据格式获取日期从字符串转换日期的日期,但混淆是以两种格式yyyy-MM-dd'T'HH:mm:ss.SSS
和{{1}获取日期有些包括yyyy-MM-dd'T'HH:mm:ss
,有些则没有,请告诉我如何首先检查日期格式样式,然后根据它使用日期格式。
下面我将使用代码将字符串转换为我想要的格式。
SSS
寻找你的回复。
答案 0 :(得分:2)
最初检查
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];
}
答案 1 :(得分:0)
将您的API响应Date
作为字符串传递,并检查您的日期格式。如果它与任何甲酸盐不匹配,那么您可以返回任何其他您想要的格式。
- (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";
}
}
}