我正在尝试使用getObjectValue:forString:range:error:
从NSString转换为NSDate。该函数返回成功且没有错误,但返回的日期不正确。
具体来说,我将@"1989-12-31T00:00:00+00:00"
传递给下面的函数,返回的日期为1970-01-01 00:00:000 +0000
。有什么想法吗?
+ (NSDate *) convertStringToDate:(NSString *) dateString
{
NSDate* date = nil;
NSError* error = nil;
NSRange range = NSMakeRange(0, [dateString length]);
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];
BOOL success = [dateFormatter getObjectValue:&date forString:dateString range:&range error:&error];
[dateFormatter release];
return success ? date : nil;
}
提前致谢。
答案 0 :(得分:0)
NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
NSLocale *usLocale = [[NSLocale alloc] initWithLocaleIdentifier:locale];
[dateFormatter setLocale:usLocale];
[usLocale release];
[dateFormatter setDateFormat:@"EEE, dd MMMM yyyy HH:mm:ss Z"];
NSDate *date = [dateFormatter dateFromString:dateString];
注意: