date格式为2016-10-20T13:01:47.317

这是我想要从string中获取date2016-10-20T13:01:47.317,但获得nil

 NSDateFormatter *dateFormatter1 = [[NSDateFormatter alloc] init]; dateString = [dateString substringToIndex:dateString.length - 3]; [dateFormatter1 setDateFormat:@"YYYY-MM-ddTHH:mm:ss"]; NSDate *date = [dateFormatter1 dateFromString:dateString]; 

也尝试与YYYY,但仍然是零。
我不能理解.317,所以我把它从string中删除了。 这是什么date格式?

它.317表示毫秒使用SSS

 NSDateFormatter *dateFormatter1 = [[NSDateFormatter alloc] init]; [dateFormatter1 setDateFormat:@"yyyy-MM-ddTHH:mm:ss.SSS"]; // or omit the timezone use `yyyy-MM-dd'T'HH:mm:ss.SSS` NSDate *date = [dateFormatter1 dateFromString:dateString]; 

您需要在代码中使用此DateFormatter yyyy-MM-dd'T'HH:mm:ss.SSS

 NSDateFormatter *dateFormatter1 = [[NSDateFormatter alloc] init]; [dateFormatter1 setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSS"]; NSDate *date = [dateFormatter1 dateFromString:dateString]; 

这里的date不是零

尝试使用date格式

 NSDateFormatter *dateFormatter1 = [[NSDateFormatter alloc] init]; [dateFormatter1 setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSS"]; NSDate *date = [dateFormatter1 dateFromString:dateString]; 

试试这个删除毫秒:

 NSString *dateString = @"your string"; NSDateFormatter* dateFormatter1 = [[NSDateFormatter alloc] init]; dateFormatter1.dateFormat = @"YYYY-MM-ddTHH:mm:ss.SSS"; NSDate *yourDate = [dateFormatter1 dateFromString:dateString]; dateFormatter1.dateFormat = @"YYYY-MM-ddTHH:mm:ss"; NSLog(@"%@",[dateFormatter1 stringFromDate:yourDate]);