将格式为2013-06-20T17:10:44.642的日期转换为NSDate

时间:2013-06-20 23:24:12

标签: objective-c

如何在Objective-C中将日期2013-06-20T17:10:44.642转换为NSDate?

我有一个django应用程序,它以JSON输出日期并使用Objective-C来解析日期,但我需要将上面格式的NSString转换为NSDate。我怎么能这样做?

我知道如何将NSString转换为NSDATE,但我不知道如何转换该特定日期:2013-06-20T17:10:44.642

我有:

NSString        *iso8601String = dateString;
NSDateFormatter *dateFormatter  = [[NSDateFormatter alloc] init];
NSLocale        *locale         = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"];
[dateFormatter setLocale:locale];
[dateFormatter setFormatterBehavior:NSDateFormatterBehavior10_4];
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss"];

但现在正在发挥作用。

2 个答案:

答案 0 :(得分:0)

您可以使用NSDateFormatter执行此操作。查看setDateFormat:方法。然后,您可以运行dateFromString:来获取NSDate。

答案 1 :(得分:0)

我在发布代码之前将其标记为重复。既然有具体的代码无效,我可以帮助指出问题。

您的格式不符合。你需要:

@"yyyy-MM-dd'T'HH:mm:ss.SSS"

此外,语言环境应为en_US_POSIX

不要设置格式行为。默认行为是您想要的。