我一直在使用此方法将常规NSString对象转换为NSDate,但尝试向Apple提交更新并被拒绝。在iOS中执行此操作的另一种方法是什么?
NSString *date_str = @"2011-08-12T12:20:00Z";
NSDate *the_date = [NSDate dateWithNaturalLanguageString:date_str locale:[[NSUserDefaults standardUserDefaults] dictionaryRepresentation]];
提前致谢!
答案 0 :(得分:9)
使用NSDateFormatter
。简要示例如下:
...
NSString* dateString = "2011-08-12T12:20:00Z";
NSDateFormatter* fmt = [NSDateFormatter new];
[fmt setDateFormat:"yyyy-MM-dd'T'HH:mm:ss'Z'"];
NSDate* date = [fmt dateFromString:dateString];
[fmt release];
...
请注意,根据Unicode Technical Standard #35,NSDateFormatter
本身不支持单字母时区标识符(即Zulu时间为Z)。