Iphone 将NSString解析为NSDate时出现问题

Iphone 将NSString解析为NSDate时出现问题,iphone,objective-c,parsing,nsstring,nsdate,Iphone,Objective C,Parsing,Nsstring,Nsdate,我有具有此值的XML: <LastModifiedOnDate>2011-04-02T00:00:00</LastModifiedOnDate> 将您的SetDataFormat函数替换为以下内容,并告知结果 [formate setDateFormat:@"yyyy-MM-ddTHH:mm:ss"]; 将您的SetDataFormat函数替换为以下内容,并告知结果 [formate setDateFormat:@"yyyy-MM-ddTHH:mm:s

我有具有此值的XML:

<LastModifiedOnDate>2011-04-02T00:00:00</LastModifiedOnDate>

将您的
SetDataFormat
函数替换为以下内容,并告知结果

    [formate setDateFormat:@"yyyy-MM-ddTHH:mm:ss"];

将您的
SetDataFormat
函数替换为以下内容,并告知结果

    [formate setDateFormat:@"yyyy-MM-ddTHH:mm:ss"];
它起作用了


它起作用了。

格式字符串中不需要所有的撇号。你只需要在T附近

NSDateFormatter *formate = [[[NSDateFormatter alloc] init] autorelease];  
[formate setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss"];
// I recommend setting a timezone because it will use the system timezone and that
// can cause confusion with your data.  
// [formate setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];
NSString *strConcat = @"2010-09-24T17:30:00";  
NSDate *date = [formate dateFromString:strConcat];
NSLog(@"Date: %@", date);  // remember NSDate default to current timezone when logging to console
如果字符串的秒数不多,则将SSS添加到字符串格式:
[formate setDateFormat:@“yyy-MM-dd'T'HH:MM:ss.SSS”]


有关日期格式的更多信息,请查看。

格式字符串中不需要所有这些撇号。你只需要在T附近

NSDateFormatter *formate = [[[NSDateFormatter alloc] init] autorelease];  
[formate setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss"];
// I recommend setting a timezone because it will use the system timezone and that
// can cause confusion with your data.  
// [formate setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];
NSString *strConcat = @"2010-09-24T17:30:00";  
NSDate *date = [formate dateFromString:strConcat];
NSLog(@"Date: %@", date);  // remember NSDate default to current timezone when logging to console
如果字符串的秒数不多,则将SSS添加到字符串格式:
[formate setDateFormat:@“yyy-MM-dd'T'HH:MM:ss.SSS”]


有关日期格式的更多信息,请查看。

很抱歉,我没有粘贴整个数据。这是XML中的值,它的“.537”持续数秒,但由于扩展名的原因,这不起作用。2011-04-05T12:43:56.537抱歉,我没有粘贴整个数据。这是XML中的值,它的“.537”持续数秒,但由于扩展名的原因,这不起作用。2011-04-05T12:43:56.537这是工作,但还有一个问题。当HH:mm:ss为00:00:00时,转换不起作用,我得到空值?您可以将字符串“00:00:00”替换为“00:00.000”,这样它将始终具有分数。这是有效的,但还有一个问题。当HH:mm:ss为00:00:00时,转换不起作用,我得到空值?您可以将字符串“00:00:00”替换为“00:00:00.000”,这样它将始终具有分数。