从ISO8601字符串中提取时间

时间:2013-06-03 05:10:41

标签: ios objective-c nsdate iso8601

我有一个ISO8601字符串

2013-05-11 05:54:07.589698

无论如何都没有从字符串操作中提取时间吗?

1 个答案:

答案 0 :(得分:2)

对于类似的问题有很多答案,只是发布这个答案,但还没有找到它

NSString *inputString = @"2013-05-11 05:54:07.589698";

NSDateFormatter *dateFormatter = [NSDateFormatter new];
[dateFormatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"UTC"]];
[dateFormatter setLocale:[[NSLocale alloc]initWithLocaleIdentifier:@"en_US_POSIX"]];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss.SSSSSS"];

NSDate *date = [dateFormatter dateFromString:inputString];
[dateFormatter setDateFormat:@"HH:mm:ss"];
NSString *timeString = [dateFormatter stringFromDate:date];

NSLog(@"%@",timeString);