2013-05-16 83 views
1

我有一個日期字符串格式是這樣的:日期字符串格式的NSDate

2007-04-28T03:00:33.000Z 

,我想它用這種方法轉換爲NSDate

NSDateFormatter *df = [[NSDateFormatter alloc] init]; 
[df setDateFormat:@"yyyy-MM-ddTHH:mm:ss.000Z"]; 
NSDate *myDate = [df dateFromString:str]; 

myDate始終是零。任何想法爲什麼?

+1

因爲你的格式字符串是錯誤的。 http://www.unicode.org/reports/tr35/tr35-25.html#Date_Format_Patterns – borrrden

回答

8

使用此格式

[df setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSSZZZ"]; 
2

試試這個

NSString *dateString = @"2007-04-28T03:00:33.000Z"; 
dateString = [dateString stringByReplacingOccurrencesOfString:@":" withString:@"" options:0 range:NSMakeRange(dateString.length-3, 1)]; 
NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; 
[formatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSSZZZ"]; 
NSDate *date = [formatter dateFromString:dateString]; 
NSLog(@"date: %@", date); 
0

糾正你的格式

yyyy-MM-dd'T'HH:mm:ss.SSSZZZ