3

2012-08-17T10:56:45.508205从 Django API 获取 NSString 作为时间。

我正在尝试NSDate使用以下代码将该字符串转换为对象:

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
NSTimeZone *timeZone = [NSTimeZone timeZoneWithName:@"UTC"];
[dateFormatter setTimeZone:timeZone];
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSSZ"];
NSDate *date = [dateFormatter dateFromString:stringToConvert];

但日期对象为空。我哪里错了?

4

1 回答 1

6

您从 Django API (2012-08-17T10:56:45.508205) 获得的ISO8601字符串不包含时区组件。但是,您在格式字符串中包含该字段符号 (Z)。只需删除它,它应该可以正常工作。

[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSS"];

有关格式化代码的更多信息,请参阅Unicode 技术参考:

于 2012-09-12T03:11:22.370 回答