我有一个应用程序当前从 Web 服务获取数据,NSXML 将其解析为核心数据。处理成核心数据。我缺少一个 updatedAtData 字段,我要求客户将其添加到他们的 Web 服务中,他们将其添加为字符串。这是解析日期的方法的作用:
- (void)setValue:(id)value forKey:(NSString *)key forManagedObject:(NSManagedObject *)managedObject {
if ([key isEqualToString:@"createdAt"] || [key isEqualToString:@"updatedAt"]) {
NSDate *date = [self dateUsingStringFromAPI:value];
[managedObject setValue:date forKey:key];
} else {
[managedObject setValue:value forKey:key];
}
}
它运行良好到这里。通过调用此方法设置日期:
- (NSDate *)dateUsingStringFromAPI:(NSString *)dateString {
[self initializeDateFormatter];
dateString = [dateString substringWithRange:NSMakeRange(0, [dateString length]-5)];
return [self.dateFormatter dateFromString:dateString];
}
但是日期永远不会被设置,它返回 nil。我认为它与日期格式有关,这是服务器返回的内容:
1900-01-01T00:00:00
如何修复我的日期字符串?